paludis
Version 2.6.0
|
#include <named_value.hh>
Public Types | |
typedef K_ | KeyType |
typedef V_ | ValueType |
Public Member Functions | |
template<typename T_ > | |
NamedValue (const NamedValue< K_, T_ > &v) | |
template<typename T_ > | |
NamedValue (NamedValue< K_, T_ > &&v) | |
NamedValue (const V_ &v) | |
NamedValue (V_ &&v) | |
NamedValue (const NamedValue &v) | |
NamedValue (NamedValue &&v) | |
NamedValue & | operator= (const NamedValue &v) |
V_ & | operator() () |
const V_ & | operator() () const |
A NamedValue is used to hold a member of type V_ for a class.
NamedValue is used to simplify 'plain old data' style classes, and to provide compiler-time-checked named parameters for functions. Use thestruct.themember() and thestruct.themember() = to access the real underlying values.
Usually a struct containing NamedValue objects will be constructed using the make_named_values() function. For each NamedValue object, make_named_values() takes a parameter in the form n::whatever_K_is() = the_value
.
In all cases, NamedValue members are listed in name-sorted order, and the same name is used for K_ and the member name.