Boost C++ Libraries Home Libraries People FAQ More

PrevUpHomeNext

Struct template is_transform

boost::proto::is_transform — Boolean metafunction which tells whether a type is a PrimitiveTransform or not.

Synopsis

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

template<typename T> 
struct is_transform :  mpl::bool_<true-or-false> {
};

Description

proto::is_transform<> is used by the proto::make<> transform to determine whether a type R represents a PrimitiveTransform to apply, or whether it merely represents itself.

It is also used by the proto::call<> transform to determine whether the function types R(), R(A1), and R(A1, A2) should be passed the expression, state and data parameters (as needed).

Unless specialized for a type T, proto::is_transform<T>::value is computed as follows:

  • If T is a class type that inherits directly or indirectly from an instantiation of proto::transform<>, proto::is_transform<T>::value is true.

  • Otherwise, proto::is_transform<T>::value is false.


PrevUpHomeNext