...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::mutable_constant<T, void, void, void> — Specialization for unlocked case.
// In header: <boost/log/attributes/mutable_constant.hpp> template<typename T> class mutable_constant<T, void, void, void> : public attribute { public: // types typedef T value_type; // The attribute value type. // member classes/structs/unions // Factory implementation. class impl : public attribute::impl { public: // construct/copy/destruct explicit impl(value_type const &); explicit impl(value_type &&); // public member functions virtual attribute_value get_value(); void set(value_type const &); void set(value_type &&); value_type get() const; }; // construct/copy/destruct explicit mutable_constant(value_type const &); explicit mutable_constant(value_type &&); explicit mutable_constant(cast_source const &); // public member functions void set(value_type const &); void set(value_type &&); value_type get() const; // protected member functions impl * get_impl() const; };
This version of attribute does not perform thread synchronization to access the stored value.
mutable_constant
public
construct/copy/destructexplicit mutable_constant(value_type const & value);
Constructor with the stored value initialization
explicit mutable_constant(value_type && value);
Constructor with the stored value initialization
explicit mutable_constant(cast_source const & source);
Constructor for casting support