/// \defgroup PkgSTLExtensionRef Reference Manual

/// \defgroup PkgSTLExtensionConcepts Concepts
/// \ingroup PkgSTLExtensionRef


/// \defgroup PkgSTLExtensionUtilities Utilities
/// \ingroup PkgSTLExtensionRef

/// \defgroup PkgSTLExtensionAssertions Assertions and Failure Behavior
/// \ingroup PkgSTLExtensionRef

/*!
\addtogroup PkgSTLExtensionRef
\cgalPkgDescriptionBegin{STL Extensions for CGAL,PkgSTLExtension}
\cgalPkgPicture{plusplus.png}
\cgalPkgSummaryBegin
\cgalPkgAuthors{Michael Hoffmann, Lutz Kettner, Sylvain Pion, and Ron Wein}
\cgalPkgDesc{\cgal is designed in the spirit of the generic programming paradigm to work together with the Standard Template Library (\stl). This package provides  non-geometric \stl-like algorithms and datastructures that are not in the \stl standard, as well as functions to change the failure behavior of assertions.}
\cgalPkgManuals{Chapter_STL_Extensions_for_CGAL,PkgSTLExtensionRef}
\cgalPkgSummaryEnd
\cgalPkgShortInfoBegin
\cgalPkgSince{1.0}
\cgalPkgBib{cgal:hkpw-se}
\cgalPkgLicense{\ref licensesLGPL "LGPL"}
\cgalPkgShortInfoEnd
\cgalPkgDescriptionEnd

\cgalClassifedRefPages

\cgalCRPSection{Doubly-Connected List Managing Items in Place}
- `CGAL::In_place_list<T,bool>`
- `CGAL::In_place_list_base<T>`

\cgalCRPSection{Compact Container}
- `CGAL::Compact_container<T, Allocator>`
- `CGAL::Compact_container_traits<T>`
- `CGAL::Compact_container_base`

\cgalCRPSection{Multiset with Extended Functionality}
- `CGAL::Multiset<Type,Compare,Allocator>`

\cgalCRPSection{Generic Algorithms}
- `CGAL::min_max_element`
- `CGAL::cpp98::random_shuffle`

\cgalCRPSection{Iterators and Iterator/Circulator Adaptors}
- `CGAL::Dispatch_output_iterator<V,O>`
- `CGAL::Dispatch_or_drop_output_iterator<V,O>`
- `CGAL::Emptyset_iterator`
- `CGAL::Oneset_iterator<T>`
- `CGAL::Insert_iterator<Container>`
- `CGAL::Counting_iterator<Iterator, Value>`
- `CGAL::N_step_adaptor<I,int N>`
- `CGAL::Filter_iterator<Iterator, Predicate>`
- `CGAL::Join_input_iterator_1<Iterator, Creator>`
- `CGAL::Inverse_index<IC>`
- `CGAL::Random_access_adaptor<IC>`
- `CGAL::Random_access_value_adaptor<IC,T>`

\cgalCRPSection{Ranges}
- `CGAL::Iterator_range`

\cgalCRPSection{Projection Function Objects}
- `CGAL::Identity<Value>`
- `CGAL::Dereference<Value>`
- `CGAL::Get_address<Value>`
- `CGAL::Cast_function_object<Arg, Result>`
- `CGAL::Project_vertex<Node>`
- `CGAL::Project_facet<Node>`
- `CGAL::Project_point<Node>`
- `CGAL::Project_normal<Node>`
- `CGAL::Project_plane<Node>`
- `CGAL::Project_next<Node>`
- `CGAL::Project_prev<Node>`
- `CGAL::Project_next_opposite<Node>`
- `CGAL::Project_opposite_prev<Node>`

\cgalCRPSection{Creator Function Objects}
- `CGAL::Creator_1<Arg, Result>`
- `CGAL::Creator_2<Arg1, Arg2, Result>`
- `CGAL::Creator_3<Arg1, Arg2, Arg3, Result>`
- `CGAL::Creator_4<Arg1, Arg2, Arg3, Arg4, Result>`
- `CGAL::Creator_5<Arg1, Arg2, Arg3, Arg4, Arg5, Result>`
- `CGAL::Creator_uniform_2<Arg, Result>`
- `CGAL::Creator_uniform_3<Arg, Result>`
- `CGAL::Creator_uniform_4<Arg, Result>`
- `CGAL::Creator_uniform_5<Arg, Result>`
- `CGAL::Creator_uniform_6<Arg, Result>`
- `CGAL::Creator_uniform_7<Arg, Result>`
- `CGAL::Creator_uniform_8<Arg, Result>`
- `CGAL::Creator_uniform_9<Arg, Result>`
- `CGAL::Creator_uniform_d<Arg, Result>`

\cgalCRPSection{Utilities}
- `CGAL::Twotuple<T>`
- `CGAL::Threetuple<T>`
- `CGAL::Fourtuple<T>`
- `CGAL::Sixtuple<T>`
- `CGAL::Triple<T1, T2, T3>`
- `CGAL::Quadruple<T1, T2, T3, T4>`
- `CGAL::Boolean_tag<bool value>`
- `CGAL::Tag_true`
- `CGAL::Tag_false`
- `CGAL::Null_tag`
- `CGAL::Null_functor`
- `CGAL::Sequential_tag`
- `CGAL::Parallel_tag`
- `CGAL::Parallel_if_available_tag`
- `CGAL::Uncertain<T>`
- `CGAL::Default`
- `CGAL::Fast`
- `CGAL::Compact`
- `CGAL::Location_policy<Tag>`
- `CGAL::Fast_location`
- `CGAL::Compact_location`
- `CGAL::value_type_traits<T>`
- `CGAL::parameters::Default_named_parameters`
- `CGAL::parameters::default_values()`

*/

