Boost C++ Libraries Home Libraries People FAQ More

PrevUpHomeNext

Struct template is_aggregate

boost::proto::is_aggregate — A Boolean metafunction that indicates whether a type requires aggregate initialization.

Synopsis

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

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

Description

proto::is_aggregate<> is used by the proto::make<> transform to determine how to construct an object of some type T, given some initialization arguments a0,...an. If proto::is_aggregate<T>::value is true, then an object of type T will be initialized as T t = {a0,...an};. Otherwise, it will be initialized as T t(a0,...an).

Note: proto::expr<> and proto::basic_expr<>are aggregates.


PrevUpHomeNext