summaryrefslogtreecommitdiff
path: root/boost/fusion/container/set/detail/cpp03/set.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/fusion/container/set/detail/cpp03/set.hpp')
-rw-r--r--boost/fusion/container/set/detail/cpp03/set.hpp106
1 files changed, 106 insertions, 0 deletions
diff --git a/boost/fusion/container/set/detail/cpp03/set.hpp b/boost/fusion/container/set/detail/cpp03/set.hpp
new file mode 100644
index 0000000000..46191c5c63
--- /dev/null
+++ b/boost/fusion/container/set/detail/cpp03/set.hpp
@@ -0,0 +1,106 @@
+/*=============================================================================
+ Copyright (c) 2001-2011 Joel de Guzman
+
+ 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)
+==============================================================================*/
+#if !defined(FUSION_SET_09162005_1104)
+#define FUSION_SET_09162005_1104
+
+#include <boost/fusion/support/config.hpp>
+#include <boost/fusion/support/is_sequence.hpp>
+#include <boost/fusion/support/sequence_base.hpp>
+#include <boost/fusion/support/category_of.hpp>
+#include <boost/fusion/support/detail/access.hpp>
+#include <boost/fusion/container/set/set_fwd.hpp>
+#include <boost/fusion/container/set/detail/begin_impl.hpp>
+#include <boost/fusion/container/set/detail/end_impl.hpp>
+#include <boost/fusion/container/set/detail/value_of_impl.hpp>
+#include <boost/fusion/container/set/detail/deref_data_impl.hpp>
+#include <boost/fusion/container/set/detail/deref_impl.hpp>
+#include <boost/fusion/container/set/detail/key_of_impl.hpp>
+#include <boost/fusion/container/set/detail/value_of_data_impl.hpp>
+#include <boost/fusion/container/vector/vector.hpp>
+#include <boost/mpl/identity.hpp>
+#include <boost/mpl/bool.hpp>
+#include <boost/core/enable_if.hpp>
+
+#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES)
+#include <boost/fusion/container/set/detail/cpp03/preprocessed/set.hpp>
+#else
+#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)
+#pragma wave option(preserve: 2, line: 0, output: "preprocessed/set" FUSION_MAX_SET_SIZE_STR ".hpp")
+#endif
+
+/*=============================================================================
+ Copyright (c) 2001-2011 Joel de Guzman
+
+ 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)
+
+ This is an auto-generated file. Do not edit!
+==============================================================================*/
+
+#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)
+#pragma wave option(preserve: 1)
+#endif
+
+namespace boost { namespace fusion
+{
+ struct void_;
+ struct fusion_sequence_tag;
+
+ template <BOOST_PP_ENUM_PARAMS(FUSION_MAX_SET_SIZE, typename T)>
+ struct set : sequence_base<set<BOOST_PP_ENUM_PARAMS(FUSION_MAX_SET_SIZE, T)> >
+ {
+ struct category : forward_traversal_tag, associative_tag {};
+
+ typedef set_tag fusion_tag;
+ typedef fusion_sequence_tag tag; // this gets picked up by MPL
+ typedef mpl::false_ is_view;
+
+ typedef vector<
+ BOOST_PP_ENUM_PARAMS(FUSION_MAX_SET_SIZE, T)>
+ storage_type;
+
+ typedef typename storage_type::size size;
+
+ BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
+ set()
+ : data() {}
+
+ template <typename Sequence>
+ BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
+ set(Sequence const& rhs
+ , typename boost::enable_if<traits::is_sequence<Sequence> >::type* = 0)
+ : data(rhs) {}
+
+ #include <boost/fusion/container/set/detail/cpp03/set_forward_ctor.hpp>
+
+ template <typename T>
+ BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
+ set&
+ operator=(T const& rhs)
+ {
+ data = rhs;
+ return *this;
+ }
+
+ BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
+ storage_type& get_data() { return data; }
+ BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
+ storage_type const& get_data() const { return data; }
+
+ private:
+
+ storage_type data;
+ };
+}}
+
+#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)
+#pragma wave option(output: null)
+#endif
+
+#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES
+
+#endif