1 //////////////////////////////////////////////////////////////////////////////
3 // (C) Copyright Ion Gaztanaga 2005-2012. Distributed under the Boost
4 // Software License, Version 1.0. (See accompanying file
5 // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
7 // See http://www.boost.org/libs/container for documentation.
9 //////////////////////////////////////////////////////////////////////////////
11 #ifndef BOOST_CONTAINER_CONTAINER_FWD_HPP
12 #define BOOST_CONTAINER_CONTAINER_FWD_HPP
18 //////////////////////////////////////////////////////////////////////////////
19 // Standard predeclarations
20 //////////////////////////////////////////////////////////////////////////////
26 //Create namespace to avoid compilation errors
29 namespace boost{ namespace container{ namespace container_detail{
31 namespace bi = boost::intrusive;
43 //////////////////////////////////////////////////////////////////////////////
45 //////////////////////////////////////////////////////////////////////////////
52 ,class Allocator = std::allocator<T> >
57 ,class Allocator = std::allocator<T> >
62 ,class Allocator = std::allocator<T> >
67 ,class Allocator = std::allocator<T> >
72 ,class Allocator = std::allocator<T> >
77 ,class Compare = std::less<Key>
78 ,class Allocator = std::allocator<Key> >
83 ,class Compare = std::less<Key>
84 ,class Allocator = std::allocator<Key> >
90 ,class Compare = std::less<Key>
91 ,class Allocator = std::allocator<std::pair<const Key, T> > >
97 ,class Compare = std::less<Key>
98 ,class Allocator = std::allocator<std::pair<const Key, T> > >
103 ,class Compare = std::less<Key>
104 ,class Allocator = std::allocator<Key> >
107 //flat_multiset class
109 ,class Compare = std::less<Key>
110 ,class Allocator = std::allocator<Key> >
116 ,class Compare = std::less<Key>
117 ,class Allocator = std::allocator<std::pair<Key, T> > >
120 //flat_multimap class
123 ,class Compare = std::less<Key>
124 ,class Allocator = std::allocator<std::pair<Key, T> > >
128 template <class CharT
129 ,class Traits = std::char_traits<CharT>
130 ,class Allocator = std::allocator<CharT> >
133 //! Type used to tag that the input range is
134 //! guaranteed to be ordered
135 struct ordered_range_t
138 //! Value used to tag that the input range is
139 //! guaranteed to be ordered
140 static const ordered_range_t ordered_range = ordered_range_t();
142 //! Type used to tag that the input range is
143 //! guaranteed to be ordered and unique
144 struct ordered_unique_range_t
145 : public ordered_range_t
148 //! Value used to tag that the input range is
149 //! guaranteed to be ordered and unique
150 static const ordered_unique_range_t ordered_unique_range = ordered_unique_range_t();
152 //! Type used to tag that the input range is
153 //! guaranteed to be ordered and unique
154 struct default_init_t
157 //! Value used to tag that the input range is
158 //! guaranteed to be ordered and unique
159 static const default_init_t default_init = default_init_t();
162 namespace detail_really_deep_namespace {
164 //Otherwise, gcc issues a warning of previously defined
165 //anonymous_instance and unique_instance
171 (void)ordered_unique_range;
176 } //detail_really_deep_namespace {
180 }} //namespace boost { namespace container {
182 #endif //#ifndef BOOST_CONTAINER_CONTAINER_FWD_HPP