libzypp  11.13.5
zypp::xml::ParseDef::Impl Class Reference

ParseDef implementation. More...

List of all members.

Public Types

typedef shared_ptr< ImplImplPtr
typedef std::map< std::string,
ImplPtr
SubNodes

Public Member Functions

 Impl (const std::string &name_r, Mode mode_r, const shared_ptr< ParseDefConsume > &target_r=shared_ptr< ParseDefConsume >())
 ~Impl ()
bool isOptional () const
bool isMandatory () const
bool singleDef () const
bool multiDef () const
void addNode (const ImplPtr &subnode_r)
ImplPtr getNode (const std::string &name_r) const
void take (Reader &reader_r)

Public Attributes

std::string _name
Mode _mode
DefaultIntegral< unsigned, 0 > _visited
Impl_parent
SubNodes _subnodes
ParseDefImplConsume _callback
DefaultIntegral< int,-1 > _parseDepth

Private Member Functions

bool skipNode (Reader &reader_r)
 Skip the current node.
std::string exstr (const std::string &what_r, const Impl &impl_r) const
std::string exstr (const std::string &what_r, const Impl &impl_r, const Reader &reader_r) const

Friends

std::ostream & operator<< (std::ostream &str, const ParseDef::Impl &obj)

Detailed Description

ParseDef implementation.

Todo:
Check using share_ptr_from_this for parent in addNode.

Definition at line 94 of file ParseDef.cc.


Member Typedef Documentation

Definition at line 98 of file ParseDef.cc.

typedef std::map<std::string, ImplPtr> zypp::xml::ParseDef::Impl::SubNodes

Definition at line 99 of file ParseDef.cc.


Constructor & Destructor Documentation

zypp::xml::ParseDef::Impl::Impl ( const std::string &  name_r,
Mode  mode_r,
const shared_ptr< ParseDefConsume > &  target_r = shared_ptr<ParseDefConsume>() 
)
inline

Definition at line 102 of file ParseDef.cc.

zypp::xml::ParseDef::Impl::~Impl ( )
inline

Definition at line 111 of file ParseDef.cc.


Member Function Documentation

bool zypp::xml::ParseDef::Impl::isOptional ( ) const
inline

Definition at line 119 of file ParseDef.cc.

bool zypp::xml::ParseDef::Impl::isMandatory ( ) const
inline

Definition at line 122 of file ParseDef.cc.

bool zypp::xml::ParseDef::Impl::singleDef ( ) const
inline

Definition at line 125 of file ParseDef.cc.

bool zypp::xml::ParseDef::Impl::multiDef ( ) const
inline

Definition at line 128 of file ParseDef.cc.

void zypp::xml::ParseDef::Impl::addNode ( const ImplPtr subnode_r)

Definition at line 186 of file ParseDef.cc.

ImplPtr zypp::xml::ParseDef::Impl::getNode ( const std::string &  name_r) const
inline

Definition at line 134 of file ParseDef.cc.

void zypp::xml::ParseDef::Impl::take ( Reader reader_r)

Definition at line 207 of file ParseDef.cc.

bool zypp::xml::ParseDef::Impl::skipNode ( xml::Reader reader_r)
private

Skip the current node.

Precondition:
Current node must be XML_READER_TYPE_ELEMENT.
Postcondition:
At the corresponding end node. (XML_READER_TYPE_END_ELEMENT or atill at the same node, if it'a an empty element <node />).
Returns:
last call to xml::Reader::nextNode.
Exceptions:
ParseDefValidateExceptionif no matching end node found.

Definition at line 329 of file ParseDef.cc.

std::string zypp::xml::ParseDef::Impl::exstr ( const std::string &  what_r,
const Impl impl_r 
) const
inlineprivate

Definition at line 155 of file ParseDef.cc.

std::string zypp::xml::ParseDef::Impl::exstr ( const std::string &  what_r,
const Impl impl_r,
const Reader reader_r 
) const
inlineprivate

Definition at line 161 of file ParseDef.cc.


Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  str,
const ParseDef::Impl obj 
)
friend

Definition at line 348 of file ParseDef.cc.


Member Data Documentation

std::string zypp::xml::ParseDef::Impl::_name

Definition at line 169 of file ParseDef.cc.

Mode zypp::xml::ParseDef::Impl::_mode

Definition at line 170 of file ParseDef.cc.

DefaultIntegral<unsigned,0> zypp::xml::ParseDef::Impl::_visited

Definition at line 171 of file ParseDef.cc.

Impl* zypp::xml::ParseDef::Impl::_parent

Definition at line 173 of file ParseDef.cc.

SubNodes zypp::xml::ParseDef::Impl::_subnodes

Definition at line 174 of file ParseDef.cc.

ParseDefImplConsume zypp::xml::ParseDef::Impl::_callback

Definition at line 175 of file ParseDef.cc.

DefaultIntegral<int,-1> zypp::xml::ParseDef::Impl::_parseDepth

Definition at line 177 of file ParseDef.cc.


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