YEMap Class Reference

#include <YExpression.h>

Inheritance diagram for YEMap:

YCode Rep

List of all members.

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_tm_first


Member Typedef Documentation

typedef struct YEMap::mapval YEMap::mapval_t [private]


Constructor & Destructor Documentation

YEMap::YEMap ( YCodePtr  key,
YCodePtr  value 
)

References attach().

YEMap::YEMap ( bytecodeistream str  ) 

YEMap::~YEMap (  ) 

References m_first, and YEMap::mapval::next.


Member Function Documentation

void YEMap::attach ( YCodePtr  key,
YCodePtr  value 
)

YCPValue YEMap::evaluate ( bool  cse = false  )  [virtual]

Execute YCP code to get the resulting YCPValue. Every inherited class of YCode should reimplement this method.

Returns:
YCPValue after executing the code
Parameters:
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.

Returns:
the YCode kind

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.

Parameters:
str byte stream to store into
Returns:
byte stream for chaining writing bytecode (str)

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.

Returns:
ASCII string representation

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.

Parameters:
str string stream to store into
indend indentation level for pretty print
Returns:
string stream for chaining writing XML (str)

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).

Returns:
type of the value to be returned after calling evaluate

Reimplemented from YCode.

References YEMap::mapval::key, m_first, YEMap::mapval::next, and YEMap::mapval::value.


Member Data Documentation


The documentation for this class was generated from the following files:

Generated on a sunny day for yast2-core by doxygen 1.5.9