libelemental 2.0.2
|
A qualified list of values of a generic type. More...
#include <value.hh>
Public Member Functions | |
template<class S > | |
ValueList (const S source[], int count, Qualifier qualifier=Q_NEUTRAL) | |
Constructs a new defined value list. | |
template<class S > | |
ValueList (const ValueList< S > &source) | |
Constructs a new value list based on another value list. | |
ValueList (Qualifier qualifier=Q_UNK) throw () | |
Constructs a new undefined or empty value list. | |
virtual int | compare (const value_base &other) const throw () |
Compares two qualified values. | |
![]() | |
bool | has_value () const throw () |
Returns whether the value is defined. | |
virtual ustring | get_string (const ustring &format=ustring()) const throw () |
Returns a localized text representation of the value. | |
ustring | get_tip () const throw () |
Returns a localized message to be displayed as a tooltip. | |
void | make_entry (EntriesView &view, const ustring &name, const ustring &format=ustring()) const throw () |
Possibly adds the result of get_string() to an EntriesView. | |
Public Attributes | |
std::vector< T > | values |
The values, if defined. | |
![]() | |
Qualifier | qualifier |
The qualification of the value's meaning. | |
Protected Member Functions | |
virtual ustring | do_get_string (const ustring &format) const throw () |
Returns a localized text representation of a defined value. | |
![]() | |
value_base (Qualifier qualifier) throw () | |
virtual int | compare_base (const value_base &other) const throw () |
Compares the qualifications of two values. | |
Additional Inherited Members | |
![]() | |
bool | always |
Whether an undefined value should make an entry. | |
![]() | |
static const int | YIELD_COMPARE |
Indicates that comparison should be based on values, not definedness. | |
A qualified list of values of a generic type.
This template requires a class with default and copy constructors and less-than, greater-than, and stream insertion operators. Compiler-generated functions are acceptable.
Elemental::ValueList< T >::ValueList | ( | const S | source[], |
int | count, | ||
Qualifier | qualifier = Q_NEUTRAL |
||
) |
Constructs a new defined value list.
source | An array of the initial values. |
count | The length of the source array. |
qualifier | The qualification of the initial values. |
Elemental::ValueList< T >::ValueList | ( | const ValueList< S > & | source | ) |
Constructs a new value list based on another value list.
source | The value list to be copied. |
Elemental::ValueList< T >::ValueList | ( | Qualifier | qualifier = Q_UNK | ) | |
throw | ( | ||||
) |
Constructs a new undefined or empty value list.
qualifier | The qualification of the initial values. |
|
virtual |
Compares two qualified values.
Derived classes may override this function, first calling compare_base, and use a dynamic_cast to check other.
other | The qualified value for comparison. |
-1
if this value is undefined or is less than other
; 0
if the values are equal; or 1
if other
is undefined or this value is greater than other
. Reimplemented from Elemental::value_base.
|
protectedvirtual |
Returns a localized text representation of a defined value.
Derived classes must implement this function to produce a text representation based on the format. It will be called by get_string(), which will then decorate its output as appropriate for the current qualifier. If has_value() is false
, the behavior is undefined.
format | A compose-style format string. Derived classes may define the number of argument references expected in the string; the default is one. If format is empty, a minimal default should be used. |
Implements Elemental::value_base.