summaryrefslogtreecommitdiff
path: root/boost/assign/std
diff options
context:
space:
mode:
Diffstat (limited to 'boost/assign/std')
-rw-r--r--boost/assign/std/deque.hpp38
-rw-r--r--boost/assign/std/list.hpp38
-rw-r--r--boost/assign/std/map.hpp45
-rw-r--r--boost/assign/std/queue.hpp45
-rw-r--r--boost/assign/std/set.hpp44
-rw-r--r--boost/assign/std/slist.hpp45
-rw-r--r--boost/assign/std/stack.hpp37
-rw-r--r--boost/assign/std/vector.hpp37
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