#include <YExpression.h>
Classes | |
struct | mapval |
Public Member Functions | |
YEMap (YCodePtr key, YCodePtr value) | |
YEMap (bytecodeistream &str) | |
~YEMap () | |
virtual ykind | kind () const |
void | attach (YCodePtr key, YCodePtr value) |
string | toString () const |
YCPValue | evaluate (bool cse=false) |
std::ostream & | toStream (std::ostream &str) const |
std::ostream & | toXml (std::ostream &str, int indent) const |
constTypePtr | type () const |
Private Types | |
typedef struct YEMap::mapval | mapval_t |
Private Member Functions | |
REP_BODY (YEMap) | |
Private Attributes | |
mapval_t * | m_first |
typedef struct YEMap::mapval YEMap::mapval_t [private] |
YEMap::YEMap | ( | YCodePtr | key, | |
YCodePtr | value | |||
) |
References attach().
YEMap::YEMap | ( | bytecodeistream & | str | ) |
References attach(), Bytecode::readCode(), and Bytecode::readInt32().
YEMap::~YEMap | ( | ) |
References m_first, and YEMap::mapval::next.
void YEMap::attach | ( | YCodePtr | key, | |
YCodePtr | value | |||
) |
References YEMap::mapval::key, m_first, YEMap::mapval::next, and YEMap::mapval::value.
Referenced by YEMap().
YCPValue YEMap::evaluate | ( | bool | cse = false |
) | [virtual] |
Execute YCP code to get the resulting YCPValue. Every inherited class of YCode should reimplement this method.
cse | should the evaluation be done for parse time evaluation (i.e. constant subexpression elimination) |
Reimplemented from YCode.
References YCPMap::add(), YCPElement::isNull(), YEMap::mapval::key, m_first, YEMap::mapval::next, toString(), YEMap::mapval::value, y2debug, and ycp2error.
virtual ykind YEMap::kind | ( | ) | const [inline, virtual] |
Kind of this YCode. This method must be reimplemented in the inherited classes.
Implements YCode.
References YCode::yeMap.
YEMap::REP_BODY | ( | YEMap | ) | [private] |
std::ostream & YEMap::toStream | ( | std::ostream & | str | ) | const [virtual] |
Write YCP code to a byte stream (bytecode implementation). Every class inheriting from YCode must reimplement this method.
str | byte stream to store into |
Implements YCode.
References YEMap::mapval::key, m_first, YEMap::mapval::next, YEMap::mapval::value, and Bytecode::writeInt32().
string YEMap::toString | ( | void | ) | const [virtual] |
Return ASCII represtation of this YCP code.
Reimplemented from YCode.
References YEMap::mapval::key, m_first, YEMap::mapval::next, YEMap::mapval::value, and y2debug.
Referenced by evaluate().
std::ostream & YEMap::toXml | ( | std::ostream & | str, | |
int | indent | |||
) | const [virtual] |
Write YCP code as XML representation. Every class inheriting from YCode must reimplement this method.
str | string stream to store into | |
indend | indentation level for pretty print |
Implements YCode.
References YEMap::mapval::key, m_first, YEMap::mapval::next, and YEMap::mapval::value.
constTypePtr YEMap::type | ( | ) | const [virtual] |
Return type of this YCP code (interesting mostly for function calls).
Reimplemented from YCode.
References YEMap::mapval::key, m_first, YEMap::mapval::next, and YEMap::mapval::value.
mapval_t* YEMap::m_first [private] |
Referenced by attach(), evaluate(), toStream(), toString(), toXml(), type(), and ~YEMap().