/usr/include/boost/proto/functional/range
Edit: /usr/include/boost/proto/functional/range/begin.hpp (1393B)
///////////////////////////////////////////////////////////////////////////////
/// \file begin.hpp
/// Proto callables for boost::begin()
//
// Copyright 2012 Eric Niebler. Distributed under the Boost
// Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
#ifndef BOOST_PROTO_FUNCTIONAL_RANGE_BEGIN_HPP_EAN_27_08_2012
#define BOOST_PROTO_FUNCTIONAL_RANGE_BEGIN_HPP_EAN_27_08_2012
#include
#include
namespace boost { namespace proto { namespace functional
{
// A PolymorphicFunctionObject that wraps boost::begin()
struct begin
{
BOOST_PROTO_CALLABLE()
template
struct result;
template
struct result
: boost::range_iterator
{};
template
struct result
: boost::range_iterator
{};
template
typename boost::range_iterator::type operator()(Rng &rng) const
{
return boost::begin(rng);
}
template
typename boost::range_iterator::type operator()(Rng const &rng) const
{
return boost::begin(rng);
}
};
}}}
#endif