////////////////////////////////////////////////////////////////////////////// // // (C) Copyright Ion Gaztanaga 2005-2009. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // // See http://www.boost.org/libs/container for documentation. // ////////////////////////////////////////////////////////////////////////////// #ifndef BOOST_CONTAINERS_CONTAINERS_FWD_HPP #define BOOST_CONTAINERS_CONTAINERS_FWD_HPP #if (defined _MSC_VER) && (_MSC_VER >= 1200) # pragma once #endif ////////////////////////////////////////////////////////////////////////////// // Standard predeclarations ////////////////////////////////////////////////////////////////////////////// /// @cond namespace boost{ namespace intrusive{ //Create namespace to avoid compilation errors }} namespace boost{ namespace container{ namespace containers_detail{ namespace bi = boost::intrusive; }}} namespace std { template class allocator; template struct less; template struct pair; template struct char_traits; } //namespace std { /// @endcond ////////////////////////////////////////////////////////////////////////////// // Containers ////////////////////////////////////////////////////////////////////////////// namespace boost { namespace container { //vector class template > class vector; //vector class template > class stable_vector; //vector class template > class deque; //list class template > class list; //slist class template > class slist; //set class template ,class Alloc = std::allocator > class set; //multiset class template ,class Alloc = std::allocator > class multiset; //map class template ,class Alloc = std::allocator > > class map; //multimap class template ,class Alloc = std::allocator > > class multimap; //flat_set class template ,class Alloc = std::allocator > class flat_set; //flat_multiset class template ,class Alloc = std::allocator > class flat_multiset; //flat_map class template ,class Alloc = std::allocator > > class flat_map; //flat_multimap class template ,class Alloc = std::allocator > > class flat_multimap; //basic_string class template ,class Alloc = std::allocator > class basic_string; //! Type used to tag that the input range is //! guaranteed to be ordered struct ordered_range_impl_t {}; //! Type used to tag that the input range is //! guaranteed to be ordered and unique struct ordered_unique_range_impl_t{}; /// @cond typedef ordered_range_impl_t * ordered_range_t; typedef ordered_unique_range_impl_t *ordered_unique_range_t; /// @endcond //! Value used to tag that the input range is //! guaranteed to be ordered static const ordered_range_t ordered_range = 0; //! Value used to tag that the input range is //! guaranteed to be ordered and unique static const ordered_unique_range_t ordered_unique_range = 0; /// @cond namespace detail_really_deep_namespace { //Otherwise, gcc issues a warning of previously defined //anonymous_instance and unique_instance struct dummy { dummy() { (void)ordered_range; (void)ordered_unique_range; } }; } //detail_really_deep_namespace { /// @endcond }} //namespace boost { namespace container { #endif //#ifndef BOOST_CONTAINERS_CONTAINERS_FWD_HPP