Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

This is the documentation for an old version of boost. Click here for the latest Boost documentation.
PrevUpHomeNext

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.


PrevUpHomeNext