...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
boost::log::attributes::function — A class of an attribute that acquires its value from a third-party function object.
// In header: <boost/log/attributes/function.hpp> template<typename R> class function : public attribute { public: // types typedef R value_type; // The attribute value type. // member classes/structs/unions // Base class for factory implementation. class impl : public attribute::impl { }; // Factory implementation. template<typename T> class impl_template : public function< R >::impl { public: // public member functions explicit impl_template(T const &); virtual attribute_value get_value(); }; // public member functions template<typename T> explicit function(T const &); explicit function(cast_source const &); };
The attribute calls a stored nullary function object to acquire each value. The result type of the function object is the attribute value type.
It is not recommended to use this class directly. Use make_function
convenience functions to construct the attribute instead.
function
public member functionstemplate<typename T> explicit function(T const & fun);
Initializing constructor
explicit function(cast_source const & source);
Constructor for casting support