diff options
Diffstat (limited to 'boost/assign/std')
-rw-r--r-- | boost/assign/std/deque.hpp | 38 | ||||
-rw-r--r-- | boost/assign/std/list.hpp | 38 | ||||
-rw-r--r-- | boost/assign/std/map.hpp | 45 | ||||
-rw-r--r-- | boost/assign/std/queue.hpp | 45 | ||||
-rw-r--r-- | boost/assign/std/set.hpp | 44 | ||||
-rw-r--r-- | boost/assign/std/slist.hpp | 45 | ||||
-rw-r--r-- | boost/assign/std/stack.hpp | 37 | ||||
-rw-r--r-- | boost/assign/std/vector.hpp | 37 |
8 files changed, 329 insertions, 0 deletions
diff --git a/boost/assign/std/deque.hpp b/boost/assign/std/deque.hpp new file mode 100644 index 0000000000..3546a0fc78 --- /dev/null +++ b/boost/assign/std/deque.hpp @@ -0,0 +1,38 @@ +// Boost.Assign library +// +// Copyright Thorsten Ottosen 2003-2004. Use, modification and +// distribution is subject to 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) +// +// For more information, see http://www.boost.org/libs/assign/ +// + + +#ifndef BOOST_ASSIGN_STD_DEQUE_HPP +#define BOOST_ASSIGN_STD_DEQUE_HPP + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + +#include <boost/assign/list_inserter.hpp> +#include <boost/config.hpp> +#include <deque> + +namespace boost +{ +namespace assign +{ + + template< class V, class A, class V2 > + inline list_inserter< assign_detail::call_push_back< std::deque<V,A> >, V > + operator+=( std::deque<V,A>& c, V2 v ) + { + return push_back( c )( v ); + } + +} +} + +#endif diff --git a/boost/assign/std/list.hpp b/boost/assign/std/list.hpp new file mode 100644 index 0000000000..2404b04663 --- /dev/null +++ b/boost/assign/std/list.hpp @@ -0,0 +1,38 @@ +// Boost.Assign library +// +// Copyright Thorsten Ottosen 2003-2004. Use, modification and +// distribution is subject to 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) +// +// For more information, see http://www.boost.org/libs/assign/ +// + + +#ifndef BOOST_ASSIGN_STD_LIST_HPP +#define BOOST_ASSIGN_STD_LIST_HPP + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + +#include <boost/assign/list_inserter.hpp> +#include <boost/config.hpp> +#include <list> + +namespace boost +{ +namespace assign +{ + + template< class V, class A, class V2 > + inline list_inserter< assign_detail::call_push_back< std::list<V,A> >, V > + operator+=( std::list<V,A>& c, V2 v ) + { + return push_back( c )( v ); + } + +} +} + +#endif diff --git a/boost/assign/std/map.hpp b/boost/assign/std/map.hpp new file mode 100644 index 0000000000..4937492c86 --- /dev/null +++ b/boost/assign/std/map.hpp @@ -0,0 +1,45 @@ +// Boost.Assign library +// +// Copyright Thorsten Ottosen 2003-2004. Use, modification and +// distribution is subject to 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) +// +// For more information, see http://www.boost.org/libs/assign/ +// + + +#ifndef BOOST_ASSIGN_STD_MAP_HPP +#define BOOST_ASSIGN_STD_MAP_HPP + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + +#include <boost/assign/list_inserter.hpp> +#include <boost/config.hpp> +#include <map> + +namespace boost +{ +namespace assign +{ + + template< class K, class V, class C, class A, class P > + inline list_inserter< assign_detail::call_insert< std::map<K,V,C,A> >, P > + operator+=( std::map<K,V,C,A>& m, const P& p ) + { + return insert( m )( p ); + } + + template< class K, class V, class C, class A, class P > + inline list_inserter< assign_detail::call_insert< std::multimap<K,V,C,A> >, P > + operator+=( std::multimap<K,V,C,A>& m, const P& p ) + { + return insert( m )( p ); + } + +} +} + +#endif diff --git a/boost/assign/std/queue.hpp b/boost/assign/std/queue.hpp new file mode 100644 index 0000000000..a9dea3955d --- /dev/null +++ b/boost/assign/std/queue.hpp @@ -0,0 +1,45 @@ +// Boost.Assign library +// +// Copyright Thorsten Ottosen 2003-2004. Use, modification and +// distribution is subject to 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) +// +// For more information, see http://www.boost.org/libs/assign/ +// + + +#ifndef BOOST_ASSIGN_STD_QUEUE_HPP +#define BOOST_ASSIGN_STD_QUEUE_HPP + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + +#include <boost/assign/list_inserter.hpp> +#include <boost/config.hpp> +#include <queue> + +namespace boost +{ +namespace assign +{ + + template< class V, class C, class V2 > + inline list_inserter< assign_detail::call_push< std::queue<V,C> >, V > + operator+=( std::queue<V,C>& c, V2 v ) + { + return push( c )( v ); + } + + template< class V, class C, class V2 > + inline list_inserter< assign_detail::call_push< std::priority_queue<V,C> >, V > + operator+=( std::priority_queue<V,C>& c, V2 v ) + { + return push( c )( v ); + } + +} +} + +#endif diff --git a/boost/assign/std/set.hpp b/boost/assign/std/set.hpp new file mode 100644 index 0000000000..9ad79ef73a --- /dev/null +++ b/boost/assign/std/set.hpp @@ -0,0 +1,44 @@ +// Boost.Assign library +// +// Copyright Thorsten Ottosen 2003-2004. Use, modification and +// distribution is subject to 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) +// +// For more information, see http://www.boost.org/libs/assign/ +// + + +#ifndef BOOST_ASSIGN_STD_SET_HPP +#define BOOST_ASSIGN_STD_SET_HPP + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + +#include <boost/assign/list_inserter.hpp> +#include <boost/config.hpp> +#include <set> + +namespace boost +{ +namespace assign +{ + template< class K, class C, class A, class K2 > + inline list_inserter< assign_detail::call_insert< std::set<K,C,A> >, K > + operator+=( std::set<K,C,A>& c, K2 k ) + { + return insert( c )( k ); + } + + template< class K, class C, class A, class K2 > + inline list_inserter< assign_detail::call_insert< std::multiset<K,C,A> >, K > + operator+=( std::multiset<K,C,A>& c, K2 k ) + { + return insert( c )( k ); + } + +} +} + +#endif diff --git a/boost/assign/std/slist.hpp b/boost/assign/std/slist.hpp new file mode 100644 index 0000000000..6e20f78a82 --- /dev/null +++ b/boost/assign/std/slist.hpp @@ -0,0 +1,45 @@ +// Boost.Assign library +// +// Copyright Thorsten Ottosen 2003-2004. Use, modification and +// distribution is subject to 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) +// +// For more information, see http://www.boost.org/libs/assign/ +// + +#ifndef BOOST_ASSIGN_STD_SLIST_HPP +#define BOOST_ASSIGN_STD_SLIST_HPP + +#include <boost/config.hpp> +#ifdef BOOST_HAS_SLIST + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + +#include <boost/assign/list_inserter.hpp> +#ifdef BOOST_SLIST_HEADER +# include BOOST_SLIST_HEADER +#else +# include <slist> +#endif + +namespace boost +{ +namespace assign +{ + + template< class V, class A, class V2 > + inline list_inserter< assign_detail::call_push_back< BOOST_STD_EXTENSION_NAMESPACE::slist<V,A> >, V > + operator+=( BOOST_STD_EXTENSION_NAMESPACE::slist<V,A>& c, V2 v ) + { + return push_back( c )( v ); + } + +} +} + +#endif // BOOST_HAS_SLIST + +#endif diff --git a/boost/assign/std/stack.hpp b/boost/assign/std/stack.hpp new file mode 100644 index 0000000000..89f58d9614 --- /dev/null +++ b/boost/assign/std/stack.hpp @@ -0,0 +1,37 @@ +// Boost.Assign library +// +// Copyright Thorsten Ottosen 2003-2004. Use, modification and +// distribution is subject to 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) +// +// For more information, see http://www.boost.org/libs/assign/ +// + +#ifndef BOOST_ASSIGN_STD_STACK_HPP +#define BOOST_ASSIGN_STD_STACK_HPP + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + +#include <boost/assign/list_inserter.hpp> +#include <boost/config.hpp> +#include <stack> + +namespace boost +{ +namespace assign +{ + + template< class V, class C, class V2 > + inline list_inserter< assign_detail::call_push< std::stack<V,C> >, V > + operator+=( std::stack<V,C>& c, V2 v ) + { + return push( c )( v ); + } + +} +} + +#endif diff --git a/boost/assign/std/vector.hpp b/boost/assign/std/vector.hpp new file mode 100644 index 0000000000..e9f3b7981e --- /dev/null +++ b/boost/assign/std/vector.hpp @@ -0,0 +1,37 @@ +// Boost.Assign library +// +// Copyright Thorsten Ottosen 2003-2004. Use, modification and +// distribution is subject to 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) +// +// For more information, see http://www.boost.org/libs/assign/ +// + +#ifndef BOOST_ASSIGN_STD_VECTOR_HPP +#define BOOST_ASSIGN_STD_VECTOR_HPP + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + +#include <boost/assign/list_inserter.hpp> +#include <boost/config.hpp> +#include <vector> + +namespace boost +{ +namespace assign +{ + + template< class V, class A, class V2 > + inline list_inserter< assign_detail::call_push_back< std::vector<V,A> >, V > + operator+=( std::vector<V,A>& c, V2 v ) + { + return push_back( c )( v ); + } + +} +} + +#endif |