Boost C++ Libraries Home Libraries People FAQ More

PrevUpHomeNext

Struct template literal

boost::proto::literal — A simple wrapper for a terminal, provided for ease of use.

Synopsis

// In header: <boost/proto/literal.hpp>

template<typename T, typename Domain = proto::default_domain> 
struct literal :  
  proto::extends<proto::basic_expr<proto::tag::terminal, proto::term< 
{
  // types
  typedef proto::basic_expr<proto::tag::terminal, proto::term<  ;                // For exposition only
  typedef proto::result_of::value<                  ;     
  typedef proto::result_of::value<                ;      
  typedef proto::result_of::value<          ;

  // construct/copy/destruct
  ();
  template<typename U> ();
  template<typename U> ();
  template<typename U> (proto::literal< );

  // public member functions
   ();
   () ;
};

Description

A simple wrapper for a terminal, provided for ease of use. In all cases, proto::literal<X> l(x); is equivalent to proto::terminal<X>::type l = {x};.

The Domain template parameter defaults to proto::default_domain.

literal public construct/copy/destruct

  1. ();
  2. template<typename U> ( u);
  3. template<typename U> ( u);
  4. template<typename U> (proto::literal<  u);

literal public member functions

  1.  ();

    Returns:

    proto::value(*this)
  2.  () ;

    Returns:

    proto::value(*this)

PrevUpHomeNext