YouCompleteMe/cpp/BoostParts/boost/container/container_fwd.hpp

174 lines
4.2 KiB
C++
Raw Normal View History

2012-05-10 00:45:30 -04:00
//////////////////////////////////////////////////////////////////////////////
//
2012-07-21 14:37:40 -04:00
// (C) Copyright Ion Gaztanaga 2005-2012. Distributed under the Boost
2012-05-10 00:45:30 -04:00
// 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_CONTAINER_CONTAINER_FWD_HPP
#define BOOST_CONTAINER_CONTAINER_FWD_HPP
#if (defined _MSC_VER) && (_MSC_VER >= 1200)
# pragma once
#endif
//////////////////////////////////////////////////////////////////////////////
// Standard predeclarations
//////////////////////////////////////////////////////////////////////////////
/// @cond
2012-07-21 14:37:40 -04:00
namespace boost{
namespace intrusive{
2012-05-10 00:45:30 -04:00
//Create namespace to avoid compilation errors
}}
namespace boost{ namespace container{ namespace container_detail{
namespace bi = boost::intrusive;
}}}
2012-07-21 14:37:40 -04:00
#include <utility>
#include <memory>
#include <functional>
2012-05-10 00:45:30 -04:00
#include <iosfwd>
#include <string>
/// @endcond
//////////////////////////////////////////////////////////////////////////////
// Containers
//////////////////////////////////////////////////////////////////////////////
namespace boost {
namespace container {
//vector class
template <class T
2013-01-13 17:38:19 -05:00
,class Allocator = std::allocator<T> >
2012-05-10 00:45:30 -04:00
class vector;
//vector class
template <class T
2013-01-13 17:38:19 -05:00
,class Allocator = std::allocator<T> >
2012-05-10 00:45:30 -04:00
class stable_vector;
//vector class
template <class T
2013-01-13 17:38:19 -05:00
,class Allocator = std::allocator<T> >
2012-05-10 00:45:30 -04:00
class deque;
//list class
template <class T
2013-01-13 17:38:19 -05:00
,class Allocator = std::allocator<T> >
2012-05-10 00:45:30 -04:00
class list;
//slist class
template <class T
2013-01-13 17:38:19 -05:00
,class Allocator = std::allocator<T> >
2012-05-10 00:45:30 -04:00
class slist;
//set class
2013-01-13 17:38:19 -05:00
template <class Key
,class Compare = std::less<Key>
,class Allocator = std::allocator<Key> >
2012-05-10 00:45:30 -04:00
class set;
//multiset class
2013-01-13 17:38:19 -05:00
template <class Key
,class Compare = std::less<Key>
,class Allocator = std::allocator<Key> >
2012-05-10 00:45:30 -04:00
class multiset;
//map class
template <class Key
,class T
2013-01-13 17:38:19 -05:00
,class Compare = std::less<Key>
,class Allocator = std::allocator<std::pair<const Key, T> > >
2012-05-10 00:45:30 -04:00
class map;
//multimap class
template <class Key
,class T
2013-01-13 17:38:19 -05:00
,class Compare = std::less<Key>
,class Allocator = std::allocator<std::pair<const Key, T> > >
2012-05-10 00:45:30 -04:00
class multimap;
//flat_set class
2013-01-13 17:38:19 -05:00
template <class Key
,class Compare = std::less<Key>
,class Allocator = std::allocator<Key> >
2012-05-10 00:45:30 -04:00
class flat_set;
//flat_multiset class
2013-01-13 17:38:19 -05:00
template <class Key
,class Compare = std::less<Key>
,class Allocator = std::allocator<Key> >
2012-05-10 00:45:30 -04:00
class flat_multiset;
//flat_map class
template <class Key
,class T
2013-01-13 17:38:19 -05:00
,class Compare = std::less<Key>
,class Allocator = std::allocator<std::pair<Key, T> > >
2012-05-10 00:45:30 -04:00
class flat_map;
//flat_multimap class
template <class Key
,class T
2013-01-13 17:38:19 -05:00
,class Compare = std::less<Key>
,class Allocator = std::allocator<std::pair<Key, T> > >
2012-05-10 00:45:30 -04:00
class flat_multimap;
//basic_string class
template <class CharT
,class Traits = std::char_traits<CharT>
2013-01-13 17:38:19 -05:00
,class Allocator = std::allocator<CharT> >
2012-05-10 00:45:30 -04:00
class basic_string;
//! Type used to tag that the input range is
//! guaranteed to be ordered
2012-07-21 14:37:40 -04:00
struct ordered_range_t
{};
2012-05-10 00:45:30 -04:00
//! Type used to tag that the input range is
//! guaranteed to be ordered and unique
2012-07-21 14:37:40 -04:00
struct ordered_unique_range_t
: public ordered_range_t
{};
2012-05-10 00:45:30 -04:00
//! Value used to tag that the input range is
//! guaranteed to be ordered
2012-07-21 14:37:40 -04:00
static const ordered_range_t ordered_range = ordered_range_t();
2012-05-10 00:45:30 -04:00
//! Value used to tag that the input range is
//! guaranteed to be ordered and unique
2012-07-21 14:37:40 -04:00
static const ordered_unique_range_t ordered_unique_range = ordered_unique_range_t();
2012-05-10 00:45:30 -04:00
/// @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_CONTAINER_CONTAINER_FWD_HPP