| Home | Libraries | People | FAQ | More

## Struct at

boost::xpressive::op::at — `at` is a PolymorphicFunctionObject for indexing into a sequence

## Synopsis

    // In header: <boost/xpressive/regex_actions.hpp>

    struct at {
      // member classes/structs/unions
      template<typename Sig>
      struct result {
      };
      template<typename This, typename Cont, typename Idx>
      struct result<This(Cont &, Idx)> {
        // types
        typedef Cont::reference type;
      };
      template<typename This, typename Cont, typename Idx>
      struct result<This(Cont const &, Idx)> {
        // types
        typedef Cont::const_reference type;
      };
      template<typename This, typename Cont, typename Idx>
      struct result<This(Cont, Idx)> {
        // types
        typedef Cont::const_reference type;
      };

      // public member functions
      template<typename Cont, typename Idx>
        Cont::reference operator()(Cont &, Idx) const;
      template<typename Cont, typename Idx>
        Cont::const_reference operator()(Cont const &, Idx) const;
    };

## Description

### `at` public member functions

1.     template<typename Cont, typename Idx>
         Cont::reference operator()(Cont & c, Idx idx) const;

   Parameters:

   `c` | The RandomAccessSequence to index into
   `idx` | The index

   Requires: | `Cont` is a model of RandomAccessSequence
   Returns: | `c[idx]`

2.     template<typename Cont, typename Idx>
         Cont::const_reference operator()(Cont const & c, Idx idx) const;

   This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.