/usr/include/boost/fusion/support
Edit: /usr/include/boost/fusion/support/is_sequence.hpp (2154B)
/*=============================================================================
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_IS_SEQUENCE_05052005_1002)
#define FUSION_IS_SEQUENCE_05052005_1002
#include
#include
#include
#include
#include
#include
#include
namespace boost { namespace fusion
{
// Special tags:
struct non_fusion_tag;
struct boost_tuple_tag; // boost::tuples::tuple tag
struct boost_array_tag; // boost::array tag
struct mpl_sequence_tag; // mpl sequence tag
struct std_pair_tag; // std::pair tag
namespace extension
{
template
struct is_sequence_impl
{
template
struct apply
: is_convertible
{};
};
template <>
struct is_sequence_impl
{
template
struct apply : mpl::false_ {};
};
template <>
struct is_sequence_impl;
template <>
struct is_sequence_impl;
template <>
struct is_sequence_impl;
template <>
struct is_sequence_impl;
}
namespace traits
{
template
struct is_sequence
: mpl::bool_<
(bool)extension::is_sequence_impl<
typename fusion::detail::tag_of::type
>::template apply::type::value
>
{};
using detail::is_native_fusion_sequence;
}
}}
#endif