libzypp
14.48.5
|
Typesafe passing of user data via callbacks. More...
#include <UserData.h>
Public Member Functions | |
UserData () | |
Default ctor. More... | |
UserData (ContentType type_r) | |
Ctor taking ContentType. More... | |
UserData (std::string type_r) | |
Ctor taking ContentType. More... | |
UserData (std::string type_r, std::string subtype_r) | |
Ctor taking ContentType. More... | |
const ContentType & | type () const |
Get type. More... | |
void | type (ContentType type_r) |
Set type. More... | |
operator bool () const | |
Validate object in a boolean context: has data. More... | |
bool | empty () const |
Whether data is empty. More... | |
size_type | size () const |
Size of data. More... | |
const DataType & | data () const |
The data. More... | |
bool | haskey (const std::string &key_r) const |
Whether key_r is in data. More... | |
bool | hasvalue (const std::string &key_r) const |
Whether key_r is in data and value is not empty. More... | |
bool | set (const std::string &key_r, boost::any val_r) |
Set the value for key (nonconst version always returns true). More... | |
bool | set (const std::string &key_r, boost::any val_r) const |
bool | reset (const std::string &key_r) |
Set an empty value for key_r (if possible). More... | |
bool | reset (const std::string &key_r) const |
void | erase (const std::string &key_r) |
Remove key from data. More... | |
const boost::any & | getvalue (const std::string &key_r) const |
Return the keys boost::any value or an empty value if key does not exist. More... | |
template<class Tp > | |
const Tp & | get (const std::string &key_r) const |
Pass back a const Tp & reference to key_r value. More... | |
template<class Tp > | |
Tp | get (const std::string &key_r, const Tp &default_r) const |
Pass back a Tp copy of key_r value. More... | |
template<class Tp > | |
bool | get (const std::string &key_r, Tp &ret_r) const |
If the value for key_r is of the same type as ret_r, pass it back in ret_r and return true ;. More... | |
Private Types | |
typedef std::map< std::string, boost::any > | DataType |
typedef DataType::size_type | size_type |
typedef DataType::key_type | key_type |
typedef DataType::value_type | value_type |
typedef DataType::const_iterator | const_iterator |
Private Member Functions | |
DataType & | dataRef () const |
Private Attributes | |
ContentType | _type |
shared_ptr< DataType > | _dataP |
Related Functions | |
(Note that these are not member functions.) | |
std::ostream & | operator<< (std::ostream &str, const UserData &obj) |
Typesafe passing of user data via callbacks.
Basically a std::map<std::string,boost::any>
plus associated ContentType.
Constness protects non-empty values from being modified. It is possible to overwrite empty values or to add new ones.
Definition at line 38 of file UserData.h.
|
private |
Definition at line 40 of file UserData.h.
|
private |
Definition at line 41 of file UserData.h.
|
private |
Definition at line 42 of file UserData.h.
|
private |
Definition at line 43 of file UserData.h.
|
private |
Definition at line 44 of file UserData.h.
|
inline |
Default ctor.
Definition at line 47 of file UserData.h.
|
inlineexplicit |
Ctor taking ContentType.
Definition at line 51 of file UserData.h.
|
inlineexplicit |
Ctor taking ContentType.
Definition at line 55 of file UserData.h.
|
inline |
Ctor taking ContentType.
Definition at line 59 of file UserData.h.
|
inline |
Get type.
Definition at line 65 of file UserData.h.
|
inline |
Set type.
Definition at line 69 of file UserData.h.
|
inlineexplicit |
Validate object in a boolean context: has data.
Definition at line 74 of file UserData.h.
|
inline |
Whether data is empty.
Definition at line 78 of file UserData.h.
|
inline |
Size of data.
Definition at line 82 of file UserData.h.
|
inline |
The data.
Definition at line 86 of file UserData.h.
|
inline |
Whether key_r is in data.
Definition at line 90 of file UserData.h.
|
inline |
Whether key_r is in data and value is not empty.
Definition at line 94 of file UserData.h.
|
inline |
Set the value for key (nonconst version always returns true).
Const version is allowed to set empty values or to add new ones only.
Definition at line 111 of file UserData.h.
|
inline |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Definition at line 114 of file UserData.h.
|
inline |
Set an empty value for key_r (if possible).
Definition at line 127 of file UserData.h.
|
inline |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Definition at line 130 of file UserData.h.
|
inline |
Remove key from data.
Definition at line 134 of file UserData.h.
|
inline |
Return the keys boost::any value or an empty value if key does not exist.
Definition at line 138 of file UserData.h.
|
inline |
Pass back a const Tp &
reference to key_r value.
boost::bad_any_cast | if key is not set or value is not of appropriate type |
Definition at line 168 of file UserData.h.
|
inline |
Pass back a Tp copy of key_r value.
boost::bad_any_cast | if key is not set or value is not of appropriate type |
Definition at line 179 of file UserData.h.
|
inline |
If the value for key_r is of the same type as ret_r, pass it back in ret_r and return true
;.
Definition at line 193 of file UserData.h.
|
inlineprivate |
Definition at line 213 of file UserData.h.
|
related |
Stream output
Definition at line 222 of file UserData.h.
|
private |
Definition at line 217 of file UserData.h.
|
mutableprivate |
Definition at line 218 of file UserData.h.