Initial move from Spirit CVS

[SVN r34896]
This commit is contained in:
Joel de Guzman
2006-08-16 16:50:52 +00:00
commit 75b9d13a88
370 changed files with 17939 additions and 0 deletions

View File

@ -0,0 +1,49 @@
/*=============================================================================
Copyright (c) 2001-2006 Joel de Guzman
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)
==============================================================================*/
#if !defined(FUSION_STD_PAIR_ITERATOR_09262005_0934)
#define FUSION_STD_PAIR_ITERATOR_09262005_0934
#include <boost/fusion/support/iterator_base.hpp>
#include <boost/fusion/sequence/adapted/std_pair/detail/advance_impl.hpp>
#include <boost/fusion/sequence/adapted/std_pair/detail/deref_impl.hpp>
#include <boost/fusion/sequence/adapted/std_pair/detail/distance_impl.hpp>
#include <boost/fusion/sequence/adapted/std_pair/detail/equal_to_impl.hpp>
#include <boost/fusion/sequence/adapted/std_pair/detail/next_impl.hpp>
#include <boost/fusion/sequence/adapted/std_pair/detail/prior_impl.hpp>
#include <boost/fusion/sequence/adapted/std_pair/detail/value_of_impl.hpp>
#include <boost/type_traits/add_const.hpp>
#include <boost/mpl/int.hpp>
namespace boost { namespace fusion
{
struct std_pair_iterator_tag;
struct random_access_traversal_tag;
template <typename Pair, int N>
struct std_pair_iterator_identity;
template <typename Pair, int N>
struct std_pair_iterator
: iterator_base<std_pair_iterator<Pair, N> >
{
typedef mpl::int_<N> index;
typedef std_pair_iterator_tag ftag;
typedef random_access_traversal_tag category;
typedef std_pair_iterator_identity<
typename add_const<Pair>::type, N> identity;
typedef Pair pair_type;
std_pair_iterator(Pair& pair)
: pair(pair) {}
Pair& pair;
};
}}
#endif

View File

@ -0,0 +1,30 @@
/*=============================================================================
Copyright (c) 2001-2006 Joel de Guzman
Copyright (c) 2005-2006 Dan Marsden
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)
==============================================================================*/
#if !defined(BOOST_FUSION_TAG_OF_24122005_1722)
#define BOOST_FUSION_TAG_OF_24122005_1722
#include <boost/fusion/support/tag_of_fwd.hpp>
#include <utility>
namespace boost { namespace fusion {
struct std_pair_tag;
namespace traits
{
template<typename T1, typename T2>
struct tag_of<std::pair<T1, T2> >
{
typedef std_pair_tag type;
};
}
}}
#endif