diff options
Diffstat (limited to 'boost/mpl/set/aux_')
-rw-r--r-- | boost/mpl/set/aux_/insert_range_impl.hpp | 41 | ||||
-rw-r--r-- | boost/mpl/set/aux_/item.hpp | 2 |
2 files changed, 43 insertions, 0 deletions
diff --git a/boost/mpl/set/aux_/insert_range_impl.hpp b/boost/mpl/set/aux_/insert_range_impl.hpp new file mode 100644 index 0000000000..f7150a8714 --- /dev/null +++ b/boost/mpl/set/aux_/insert_range_impl.hpp @@ -0,0 +1,41 @@ + +#ifndef BOOST_MPL_SET_AUX_INSERT_RANGE_IMPL_HPP_INCLUDED +#define BOOST_MPL_SET_AUX_INSERT_RANGE_IMPL_HPP_INCLUDED + +// Copyright Bruno Dutra 2015 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#include <boost/mpl/insert_range_fwd.hpp> +#include <boost/mpl/set/aux_/tag.hpp> +#include <boost/mpl/placeholders.hpp> +#include <boost/mpl/fold.hpp> +#include <boost/mpl/insert.hpp> + +namespace boost { namespace mpl { + +template<> +struct insert_range_impl< aux::set_tag > +{ + template< + typename Sequence + , typename /*Pos*/ + , typename Range + > + struct apply + : fold<Range, Sequence, insert<_1, _2> > + { + }; +}; + +}} + +#endif // BOOST_MPL_SET_AUX_INSERT_RANGE_IMPL_HPP_INCLUDED diff --git a/boost/mpl/set/aux_/item.hpp b/boost/mpl/set/aux_/item.hpp index e90e4900f6..bd5bc953f4 100644 --- a/boost/mpl/set/aux_/item.hpp +++ b/boost/mpl/set/aux_/item.hpp @@ -33,6 +33,7 @@ struct s_item typedef void_ last_masked_; typedef T item_type_; typedef typename Base::item_ base; + typedef s_item type; typedef typename next< typename Base::size >::type size; typedef typename next< typename Base::order >::type order; @@ -57,6 +58,7 @@ struct s_mask typedef void_ item_type_; typedef typename Base::item_ base; typedef typename prior< typename Base::size >::type size; + typedef s_mask type; BOOST_MPL_AUX_SET_OVERLOAD( aux::yes_tag, IS_MASKED, s_mask, aux::type_wrapper<T>* ); }; |