Edit: /usr/include/boost/proto/args.hpp (3761B)
///////////////////////////////////////////////////////////////////////////////
/// \file args.hpp
/// Contains definition of \c term\<\>, \c list1\<\>, \c list2\<\>, ...
/// class templates.
//
// Copyright 2008 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_ARGS_HPP_EAN_04_01_2005
#define BOOST_PROTO_ARGS_HPP_EAN_04_01_2005
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
namespace boost { namespace proto
{
namespace detail
{
/// INTERNAL ONLY
template
struct expr_traits
{
typedef Expr value_type;
typedef Expr &reference;
typedef Expr const &const_reference;
};
/// INTERNAL ONLY
template
struct expr_traits
{
typedef Expr value_type;
typedef Expr &reference;
typedef Expr &const_reference;
};
/// INTERNAL ONLY
template
struct expr_traits
{
typedef Expr value_type;
typedef Expr const &reference;
typedef Expr const &const_reference;
};
/// INTERNAL ONLY
template
struct term_traits
{
typedef T value_type;
typedef T &reference;
typedef T const &const_reference;
};
/// INTERNAL ONLY
template
struct term_traits
{
typedef typename mpl::if_c::value, T &, T>::type value_type;
typedef T &reference;
typedef T &const_reference;
};
/// INTERNAL ONLY
template
struct term_traits
{
typedef T value_type;
typedef T const &reference;
typedef T const &const_reference;
};
/// INTERNAL ONLY
template
struct term_traits
{
typedef T value_type[N];
typedef T (&reference)[N];
typedef T (&const_reference)[N];
};
/// INTERNAL ONLY
template
struct term_traits
{
typedef T value_type[N];
typedef T const (&reference)[N];
typedef T const (&const_reference)[N];
};
/// INTERNAL ONLY
template
struct term_traits
{
typedef T value_type[N];
typedef T (&reference)[N];
typedef T const (&const_reference)[N];
};
/// INTERNAL ONLY
template
struct term_traits
{
typedef T value_type[N];
typedef T const (&reference)[N];
typedef T const (&const_reference)[N];
};
}
namespace argsns_
{
// This is where term and all the different listN templates are defined
#include
}
}}
#endif