| Home | Libraries | People | FAQ | More

## Struct begin

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

## Synopsis

    // In header: <boost/proto/functional/range/begin.hpp>

    struct begin :  proto::callable {
      // member classes/structs/unions
      template<typename This, typename Range>
      struct result<This(Range)> :  boost::range_iterator<
          typename boost::remove_reference<Range>::type
      >
      {
      };

      // public member functions
      template<typename Range>
        typename boost::range_iterator< Range >::type operator()(Range &) const;
      template<typename Range>
        typename boost::range_iterator< Range const >::type
        operator()(Range const &) const;
    };

## Description

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

### `begin` public member functions

1.     template<typename Range>
         typename boost::range_iterator< Range >::type operator()(Range & rng) const;

   Returns: | `boost::begin(rng)`

2.     template<typename Range>
         typename boost::range_iterator< Range const >::type
         operator()(Range const & rng) const;

   Returns: | `boost::begin(rng)`