| Home | Libraries | People | FAQ | More

### is_sequence

#### Description

Metafunction that evaluates to `mpl::true_` if a certain type `T` is a conforming Fusion Sequence, `mpl::false_` otherwise. This may be specialized to accomodate clients which provide Fusion conforming sequences.

#### Synopsis

    namespace traits
    {
        template <typename T>
        struct is_sequence
        {
            typedef unspecified type;
        };
    }

#### Parameters

Parameter | Requirement | Description
--- | --- | ---
`T` | Any type | The type to query.

#### Expression Semantics

    typedef traits::is_sequence<T>::type c;

Return type: An MPL Boolean Constant.

Semantics: Metafunction that evaluates to `mpl::true_` if a certain type `T` is a conforming Fusion sequence, `mpl::false_` otherwise.

#### Header

    #include <boost/fusion/support/is_sequence.hpp>
    #include <boost/fusion/include/is_sequence.hpp>

#### Example

    BOOST_MPL_ASSERT_NOT(( traits::is_sequence< std::vector<int> > ));
    BOOST_MPL_ASSERT_NOT(( is_sequence< int > ));
    BOOST_MPL_ASSERT(( traits::is_sequence<list<> > ));
    BOOST_MPL_ASSERT(( traits::is_sequence<list<int> > ));
    BOOST_MPL_ASSERT(( traits::is_sequence<vector<> > ));
    BOOST_MPL_ASSERT(( traits::is_sequence<vector<int> > ));