| Home | Libraries | People | FAQ | More

## Struct at

boost::proto::functional::at — A PolymorphicFunctionObject type that invokes the `fusion::at()` accessor function on its arguments.

## Synopsis

    // In header: <boost/proto/functional/fusion/at.hpp>

    struct at :  proto::callable {
      // member classes/structs/unions
      template<typename This, typename Seq, typename N>
      struct result<This(Seq, N)> :  fusion::result_of::at<
          typename boost::remove_reference<Seq>::type
        , typename boost::remove_const<typename boost::remove_reference<N>::type>::type
      >
      {
      };

      // public member functions
      template<typename Seq, typename N>
        typename fusion::result_of::at< Seq, N >::type
        operator()(Seq &, N const &) const;
      template<typename Seq, typename N>
        typename fusion::result_of::at< Seq const, N >::type
        operator()(Seq const &, N const &) const;
    };

## Description

A PolymorphicFunctionObject type that invokes the `fusion::at()` accessor function on its arguments.

### `at` public member functions

1.     template<typename Seq, typename N>
         typename fusion::result_of::at< Seq, N >::type
         operator()(Seq & seq, N const & n) const;

   Returns: | `fusion::at<N>(seq)`

2.     template<typename Seq, typename N>
         typename fusion::result_of::at< Seq const, N >::type
         operator()(Seq const & seq, N const & n) const;

   Returns: | `fusion::at<N>(seq)`