diff options
author | Vlad Voicu <vladv@rosedu.org> | 2012-03-02 10:01:11 (GMT) |
---|---|---|
committer | Kevin Smith <git@kismith.co.uk> | 2012-03-09 15:04:05 (GMT) |
commit | 1c8cd160b79b6bbcec72042bdb104ba530508a93 (patch) | |
tree | cff302b81e74c557fbc9e30fd43144d981b613d0 /3rdParty/Boost/src/boost/mpl/joint_view.hpp | |
parent | 2944711aefec9a9dd66052440bc4f921910dd780 (diff) | |
download | swift-contrib-1c8cd160b79b6bbcec72042bdb104ba530508a93.zip swift-contrib-1c8cd160b79b6bbcec72042bdb104ba530508a93.tar.bz2 |
Added spirit to bundled boost
Diffstat (limited to '3rdParty/Boost/src/boost/mpl/joint_view.hpp')
-rw-r--r-- | 3rdParty/Boost/src/boost/mpl/joint_view.hpp | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/3rdParty/Boost/src/boost/mpl/joint_view.hpp b/3rdParty/Boost/src/boost/mpl/joint_view.hpp new file mode 100644 index 0000000..dd8d91f --- /dev/null +++ b/3rdParty/Boost/src/boost/mpl/joint_view.hpp @@ -0,0 +1,65 @@ + +#ifndef BOOST_MPL_JOINT_VIEW_HPP_INCLUDED +#define BOOST_MPL_JOINT_VIEW_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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: joint_view.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include <boost/mpl/aux_/joint_iter.hpp> +#include <boost/mpl/plus.hpp> +#include <boost/mpl/size_fwd.hpp> +#include <boost/mpl/begin_end.hpp> +#include <boost/mpl/aux_/na_spec.hpp> + +namespace boost { namespace mpl { + +namespace aux { +struct joint_view_tag; +} + +template<> +struct size_impl< aux::joint_view_tag > +{ + template < typename JointView > struct apply + : plus< + size<typename JointView::sequence1_> + , size<typename JointView::sequence2_> + > + {}; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(Sequence1_) + , typename BOOST_MPL_AUX_NA_PARAM(Sequence2_) + > +struct joint_view +{ + typedef typename mpl::begin<Sequence1_>::type first1_; + typedef typename mpl::end<Sequence1_>::type last1_; + typedef typename mpl::begin<Sequence2_>::type first2_; + typedef typename mpl::end<Sequence2_>::type last2_; + + // agurt, 25/may/03: for the 'size_traits' implementation above + typedef Sequence1_ sequence1_; + typedef Sequence2_ sequence2_; + + typedef joint_view type; + typedef aux::joint_view_tag tag; + typedef joint_iter<first1_,last1_,first2_> begin; + typedef joint_iter<last1_,last1_,last2_> end; +}; + +BOOST_MPL_AUX_NA_SPEC(2, joint_view) + +}} + +#endif // BOOST_MPL_JOINT_VIEW_HPP_INCLUDED |