...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
boost::proto::transforms_type —
The type used to define the global proto::transforms
,
a key for use when creating and accessing a slot in a transform environment for
a set of external transforms.
// In header: <boost/proto/transform/when.hpp> struct transforms_type { // public member functions template<typename Value> env<transforms_type,see-below
> operator=(Value &) const; template<typename Value> env<transforms_type,see-below
> operator=(Value const &) const; };
The proto::transforms_type
type, along with the proto::transforms
global, are declared using the BOOST_PROTO_DEFINE_ENV_VAR()
macro.
transforms_type
public member functionstemplate<typename Value> env<transforms_type,see-below
> operator=(Value & value) const; template<typename Value> env<transforms_type,see-below
> operator=(Value const & value) const;
If Value
is a specialization boost::reference_wrapper<T>
,
this function returns env<transforms_type, T &>(value.get())
.
Else, if the type Value
is non-copyable (i.e., a function, an array, abstract, or an ostream),
this function returns env<transforms_type, Value
,
where cv
&>(value)
is cv
const
for the second overload, and empty
for the first.
Otherwise, this function returns env<transforms_type, Value>(value)
.