| Home | Libraries | People | FAQ | More

##### at_c

###### Description

Returns the result type of `at_c`[8].

###### Synopsis

    template<
        typename Seq,
        int N>
    struct at_c
    {
        typedef unspecified type;
    };

Table 1.29. Parameters

Parameter | Requirement | Description
--- | --- | ---
`Seq` | A model of Random Access Sequence | Argument sequence
`N` | Positive integer index | Index of element

###### Expression Semantics

    result_of::at_c<Seq, N>::type

Return type: Any type

Precondition: `0 <= N < `result_of::size`<Seq>::value` (where `Seq` is not Unbounded Sequence)

Semantics: Returns the result type of using `at_c` to access the `N`th element of `Seq`.

###### Header

    #include <boost/fusion/sequence/intrinsic/at.hpp>
    #include <boost/fusion/include/at.hpp>

###### Example

    typedef vector<int,float,char> vec;
    BOOST_MPL_ASSERT((boost::is_same<result_of::at_c<vec, 1>::type, float&>));

[8] `result_of::at_c` reflects the actual return type of the function `at_c`. Sequence(s) typically return references to its elements via the `at_c` function. If you want to get the actual element type, use `result_of::value_at_c`