diff options
| author | Tobias Markmann <tm@ayena.de> | 2014-10-19 20:22:58 (GMT) | 
|---|---|---|
| committer | Tobias Markmann <tm@ayena.de> | 2014-10-20 13:49:33 (GMT) | 
| commit | 6b22dfcf59474dd016a0355a3102a1dd3692d92c (patch) | |
| tree | 2b1fd33be433a91e81fee84fdc2bf1b52575d934 /3rdParty/Boost/src/boost/container/container_fwd.hpp | |
| parent | 38b0cb785fea8eae5e48fae56440695fdfd10ee1 (diff) | |
| download | swift-contrib-6b22dfcf59474dd016a0355a3102a1dd3692d92c.zip swift-contrib-6b22dfcf59474dd016a0355a3102a1dd3692d92c.tar.bz2 | |
Update Boost in 3rdParty to version 1.56.0.
This updates Boost in our 3rdParty directory to version 1.56.0.
Updated our update.sh script to stop on error.
Changed error reporting in SwiftTools/CrashReporter.cpp to SWIFT_LOG due to
missing include of <iostream> with newer Boost.
Change-Id: I4b35c77de951333979a524097f35f5f83d325edc
Diffstat (limited to '3rdParty/Boost/src/boost/container/container_fwd.hpp')
| -rw-r--r-- | 3rdParty/Boost/src/boost/container/container_fwd.hpp | 160 | 
1 files changed, 131 insertions, 29 deletions
| diff --git a/3rdParty/Boost/src/boost/container/container_fwd.hpp b/3rdParty/Boost/src/boost/container/container_fwd.hpp index bdefd81..415de0f 100644 --- a/3rdParty/Boost/src/boost/container/container_fwd.hpp +++ b/3rdParty/Boost/src/boost/container/container_fwd.hpp @@ -1,5 +1,5 @@  //////////////////////////////////////////////////////////////////////////////  // -// (C) Copyright Ion Gaztanaga 2005-2012. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2005-2013. 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) @@ -12,13 +12,39 @@  #define BOOST_CONTAINER_CONTAINER_FWD_HPP -#if (defined _MSC_VER) && (_MSC_VER >= 1200) +#if defined(_MSC_VER)  #  pragma once  #endif +//! \file +//! This header file forward declares the following containers: +//!   - boost::container::vector +//!   - boost::container::stable_vector +//!   - boost::container::static_vector +//!   - boost::container::slist +//!   - boost::container::list +//!   - boost::container::set +//!   - boost::container::multiset +//!   - boost::container::map +//!   - boost::container::multimap +//!   - boost::container::flat_set +//!   - boost::container::flat_multiset +//!   - boost::container::flat_map +//!   - boost::container::flat_multimap +//!   - boost::container::basic_string +//!   - boost::container::string +//!   - boost::container::wstring +//! +//! It forward declares the following allocators: +//!   - boost::container::allocator +//!   - boost::container::node_allocator +//!   - boost::container::adaptive_pool +//! +//! And finally it defines the following types +  //////////////////////////////////////////////////////////////////////////////  //                        Standard predeclarations  ////////////////////////////////////////////////////////////////////////////// -/// @cond +#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED  namespace boost{ @@ -33,4 +59,5 @@ namespace bi = boost::intrusive;  }}} +#include <cstddef>  #include <utility>  #include <memory> @@ -39,5 +66,5 @@ namespace bi = boost::intrusive;  #include <string> -/// @endcond +#endif   //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED  ////////////////////////////////////////////////////////////////////////////// @@ -48,56 +75,70 @@ namespace boost {  namespace container { -//vector class +//! Enumeration used to configure ordered associative containers +//! with a concrete tree implementation. +enum tree_type_enum +{ +   red_black_tree, +   avl_tree, +   scapegoat_tree, +   splay_tree +}; + +#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED +  template <class T           ,class Allocator = std::allocator<T> >  class vector; -//vector class  template <class T           ,class Allocator = std::allocator<T> >  class stable_vector; -//vector class +template <class T, std::size_t Capacity> +class static_vector; +  template <class T           ,class Allocator = std::allocator<T> >  class deque; -//list class  template <class T           ,class Allocator = std::allocator<T> >  class list; -//slist class  template <class T           ,class Allocator = std::allocator<T> >  class slist; -//set class +template<tree_type_enum TreeType, bool OptimizeSize> +struct tree_opt; + +typedef tree_opt<red_black_tree, true> tree_assoc_defaults; +  template <class Key           ,class Compare  = std::less<Key> -         ,class Allocator = std::allocator<Key> > +         ,class Allocator = std::allocator<Key> +         ,class Options = tree_assoc_defaults >  class set; -//multiset class  template <class Key           ,class Compare  = std::less<Key> -         ,class Allocator = std::allocator<Key> > +         ,class Allocator = std::allocator<Key> +         ,class Options = tree_assoc_defaults >  class multiset; -//map class  template <class Key           ,class T           ,class Compare  = std::less<Key> -         ,class Allocator = std::allocator<std::pair<const Key, T> > > +         ,class Allocator = std::allocator<std::pair<const Key, T> > +         ,class Options = tree_assoc_defaults >  class map; -//multimap class  template <class Key           ,class T           ,class Compare  = std::less<Key> -         ,class Allocator = std::allocator<std::pair<const Key, T> > > +         ,class Allocator = std::allocator<std::pair<const Key, T> > +         ,class Options = tree_assoc_defaults >  class multimap; -//flat_set class  template <class Key           ,class Compare  = std::less<Key> @@ -105,5 +146,4 @@ template <class Key  class flat_set; -//flat_multiset class  template <class Key           ,class Compare  = std::less<Key> @@ -111,5 +151,4 @@ template <class Key  class flat_multiset; -//flat_map class  template <class Key           ,class T @@ -118,5 +157,4 @@ template <class Key  class flat_map; -//flat_multimap class  template <class Key           ,class T @@ -125,5 +163,4 @@ template <class Key  class flat_multimap; -//basic_string class  template <class CharT           ,class Traits = std::char_traits<CharT> @@ -131,4 +168,51 @@ template <class CharT  class basic_string; +typedef basic_string +   <char +   ,std::char_traits<char> +   ,std::allocator<char> > +string; + +typedef basic_string +   <wchar_t +   ,std::char_traits<wchar_t> +   ,std::allocator<wchar_t> > +wstring; + +static const std::size_t ADP_nodes_per_block    = 256u; +static const std::size_t ADP_max_free_blocks    = 2u; +static const std::size_t ADP_overhead_percent   = 1u; +static const std::size_t ADP_only_alignment     = 0u; + +template < class T +         , std::size_t NodesPerBlock   = ADP_nodes_per_block +         , std::size_t MaxFreeBlocks   = ADP_max_free_blocks +         , std::size_t OverheadPercent = ADP_overhead_percent +         , unsigned Version = 2 +         > +class adaptive_pool; + +template < class T +         , unsigned Version = 2 +         , unsigned int AllocationDisableMask = 0> +class allocator; + +static const std::size_t NodeAlloc_nodes_per_block = 256u; + +template +   < class T +   , std::size_t NodesPerBlock = NodeAlloc_nodes_per_block +   , std::size_t Version = 2> +class node_allocator; + +#else + +//! Default options for tree-based associative containers +//!   - tree_type<red_black_tree> +//!   - optimize_size<true> +typedef implementation_defined tree_assoc_defaults; + +#endif   //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED +  //! Type used to tag that the input range is  //! guaranteed to be ordered @@ -136,4 +220,8 @@ struct ordered_range_t  {}; +//! Value used to tag that the input range is +//! guaranteed to be ordered +static const ordered_range_t ordered_range = ordered_range_t(); +  //! Type used to tag that the input range is  //! guaranteed to be ordered and unique @@ -143,14 +231,27 @@ struct ordered_unique_range_t  //! Value used to tag that the input range is -//! guaranteed to be ordered -static const ordered_range_t ordered_range = ordered_range_t(); - -//! Value used to tag that the input range is  //! guaranteed to be ordered and unique  static const ordered_unique_range_t ordered_unique_range = ordered_unique_range_t(); -/// @cond +//! Type used to tag that the inserted values +//! should be default initialized +struct default_init_t +{}; + +//! Value used to tag that the inserted values +//! should be default initialized +static const default_init_t default_init = default_init_t(); +#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED + +//! Type used to tag that the inserted values +//! should be value initialized +struct value_init_t +{}; + +//! Value used to tag that the inserted values +//! should be value initialized +static const value_init_t value_init = value_init_t(); -namespace detail_really_deep_namespace { +namespace container_detail_really_deep_namespace {  //Otherwise, gcc issues a warning of previously defined @@ -162,4 +263,5 @@ struct dummy        (void)ordered_range;        (void)ordered_unique_range; +      (void)default_init;     }  }; @@ -167,5 +269,5 @@ struct dummy  }  //detail_really_deep_namespace { -/// @endcond +#endif   //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED  }}  //namespace boost { namespace container { | 
 Swift
 Swift