yast2-core
|
A mapping from keys to values. A map is also called assiciative array. It is a mapping from a set of keys to a set of values. Each key in a map is unique. Each key is assigned a value. Keys and values may only be String or Integer constants. Elements inside a map are kept in a sorted order based on the key value. More...
#include <YCPMap.h>
Public Member Functions | |
void | add (const YCPValue &key, const YCPValue &value) |
YCPMap | functionalAdd (const YCPValue &key, const YCPValue &value) const |
virtual const YCPElementRep * | shallowCopy () const |
void | remove (const YCPValue &key) |
bool | isEmpty () const |
long | size () const |
bool | hasKey (const YCPValue &key) const |
YCPValue | value (const YCPValue &key) const |
YCPMapIterator | begin () const |
YCPMapIterator | end () const |
YCPOrder | compare (const YCPMap &v) const |
string | toString () const |
std::ostream & | toStream (std::ostream &str) const |
std::ostream & | toXml (std::ostream &str, int indent) const |
YCPValueType | valuetype () const |
![]() | |
const char * | valuetype_str () const |
bool | isVoid () const |
bool | isBoolean () const |
bool | isInteger () const |
bool | isFloat () const |
bool | isString () const |
bool | isByteblock () const |
bool | isPath () const |
bool | isSymbol () const |
bool | isList () const |
bool | isTerm () const |
bool | isMap () const |
bool | isCode () const |
bool | isBreak () const |
bool | isReturn () const |
bool | isEntry () const |
bool | isReference () const |
bool | isExternal () const |
YCPVoid | asVoid () const |
YCPBoolean | asBoolean () const |
YCPInteger | asInteger () const |
YCPFloat | asFloat () const |
YCPString | asString () const |
YCPByteblock | asByteblock () const |
YCPPath | asPath () const |
YCPSymbol | asSymbol () const |
YCPList | asList () const |
YCPTerm | asTerm () const |
YCPMap | asMap () const |
YCPCode | asCode () const |
YCPEntry | asEntry () const |
YCPReference | asReference () const |
YCPExternal | asExternal () const |
bool | equal (const YCPValue &) const |
YCPOrder | compare (const YCPValue &v, bool rl=false) const |
![]() | |
YCPValue | asValue () const |
Protected Types | |
typedef YCPValueYCPValueMap::iterator | iterator |
typedef YCPValueYCPValueMap::const_iterator | const_iterator |
typedef YCPValueYCPValueMap::value_type | value_type |
typedef YCPValueYCPValueMap::const_reference | const_reference |
typedef YCPValueYCPValueMap::key_compare | key_compare |
Protected Member Functions | |
YCPMapRep () | |
~YCPMapRep () | |
![]() | |
YCPElementRep () | |
virtual | ~YCPElementRep () |
Private Attributes | |
YCPValueYCPValueMap | stl_map |
Friends | |
class | YCPMap |
A mapping from keys to values. A map is also called assiciative array. It is a mapping from a set of keys to a set of values. Each key in a map is unique. Each key is assigned a value. Keys and values may only be String or Integer constants. Elements inside a map are kept in a sorted order based on the key value.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
Creates a new and empty mapping.
Referenced by shallowCopy().
|
inlineprotected |
Cleans up
References add(), begin(), compare(), end(), functionalAdd(), hasKey(), isEmpty(), shallowCopy(), size(), str, toStream(), toString(), toXml(), value(), and valuetype().
Adds a new key/value pair. If the key is existent, the old entry will be overwritten with the new one.
References stl_map, value(), and ycp2error.
Referenced by shallowCopy(), and ~YCPMapRep().
YCPMapIterator YCPMapRep::begin | ( | ) | const |
Returns a bidirectional iterator for the YCPMap that is positioned at the first value pair in the map.
References stl_map.
Referenced by compare(), functionalAdd(), shallowCopy(), toStream(), toString(), toXml(), and ~YCPMapRep().
Compares two YCPMaps for equality, greaterness or smallerness. Comparison is done as follows: shorter < longer pairwise comparison for maps of equal length not being empty
v | value to compare against |
References begin(), YCPMap::begin(), end(), order, size(), YCPMap::size(), YO_EQUAL, YO_GREATER, and YO_LESS.
Referenced by ~YCPMapRep().
YCPMapIterator YCPMapRep::end | ( | ) | const |
Returns a bidirectional iterator for the YCPMap that is positioned behind the last value pair in the map.
References stl_map.
Referenced by compare(), functionalAdd(), shallowCopy(), toStream(), toString(), toXml(), value(), and ~YCPMapRep().
Is like add, but doesn't change this map. It creates a newly created map.
References YCPMap::add(), begin(), end(), toString(), y2debug, and ycp2error.
Referenced by ~YCPMapRep().
bool YCPMapRep::hasKey | ( | const YCPValue & | key | ) | const |
bool YCPMapRep::isEmpty | ( | ) | const |
void YCPMapRep::remove | ( | const YCPValue & | key | ) |
|
virtual |
Creates a copy of this list, i.e. creates a new list with the same elements as this one. The elements themselves are not copied, but only cloned!
Reimplemented from YCPElementRep.
References add(), begin(), end(), and YCPMapRep().
Referenced by ~YCPMapRep().
long YCPMapRep::size | ( | ) | const |
Returns the number of key/value pairs.
References stl_map.
Referenced by compare(), and ~YCPMapRep().
|
virtual |
Output value as bytecode to stream
Implements YCPElementRep.
References begin(), end(), stl_map, str, Bytecode::writeInt32(), and Bytecode::writeValue().
Referenced by ~YCPMapRep().
|
virtual |
Returns an ASCII representation of the map. Maps are denoted by a comma separated list of pairs of the form key : value enclosed in $[ ... ]
Implements YCPElementRep.
References begin(), and end().
Referenced by functionalAdd(), and ~YCPMapRep().
|
virtual |
Looks for a certain key and returns the value assigned to that key. Returns 0, if the key is not found.
References end(), and stl_map.
Referenced by add(), and ~YCPMapRep().
|
virtual |
Returns YT_MAP. See YCPValueRep::valuetype.
Implements YCPValueRep.
References YT_MAP.
Referenced by ~YCPMapRep().
|
friend |
Referenced by YCPMap::YCPMap().
|
private |