...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::pod_generator — A generator that wraps expressions passed to it in the specified extension wrapper and uses aggregate initialization for the wrapper.
// In header: <boost/proto/generate.hpp> template<template< typename > class Extends> struct pod_generator : proto::callable { // member classes/structs/unions template<typename This, typename Expr> struct result<This(Expr)> { // types typedef Extends< Expr > type; }; // public member functions template<typename Expr> Extends< Expr > operator()(Expr const &) const; };
Generators are intended for use as the first template parameter to the
proto::domain<>
class template and control if and how expressions within that domain are to be customized.
proto::pod_generator<>
wraps each expression passed
to it in the Extends<>
wrapper, and uses aggregate
initialzation for the wrapped object.
pod_generator
public member functionstemplate<typename Expr> Extends< Expr > operator()(Expr const & expr) const;
Parameters: |
|
||
Returns: |
|