#include <Declaration.hpp>

Inheritance diagram for exml::internal::Declaration:
exml::internal::AttributeList exml::internal::Node ememory::EnableSharedFromThis< Node > ememory::EnableSharedFromThisBase exml::internal::DeclarationXML

Public Member Functions

enum nodeType getType () const override
 
bool iGenerate (std::string &_data, int32_t _indent) const override
 
bool iParse (const std::string &_data, int32_t &_pos, bool _caseSensitive, exml::FilePos &_filePos, exml::internal::Document &_doc) override
 
ememory::SharedPtr< exml::internal::DeclarationtoDeclaration () override
 
const ememory::SharedPtr< exml::internal::DeclarationtoDeclaration () const override
 
- Public Member Functions inherited from exml::internal::AttributeList
size_t sizeAttribute () const
 
void appendAttribute (const ememory::SharedPtr< exml::internal::Attribute > &_attr)
 
ememory::SharedPtr< AttributegetAttr (int32_t _id)
 
ememory::SharedPtr< const AttributegetAttr (int32_t _id) const
 
std::pair< std::string, std::string > getAttrPair (int32_t _id) const
 
const std::string & getAttribute (const std::string &_name) const
 
bool existAttribute (const std::string &_name) const
 
void setAttribute (const std::string &_name, const std::string &_value)
 
bool removeAttribute (const std::string &_name)
 
void clear () override
 
- Public Member Functions inherited from exml::internal::Node
virtual ~Node ()=default
 
const exml::FilePosgetPos () const
 
virtual void setValue (std::string _value)
 
virtual const std::string & getValue () const
 
virtual ememory::SharedPtr< exml::internal::DocumenttoDocument ()
 
virtual const ememory::SharedPtr< exml::internal::DocumenttoDocument () const
 
virtual ememory::SharedPtr< exml::internal::AttributetoAttribute ()
 
virtual const ememory::SharedPtr< exml::internal::AttributetoAttribute () const
 
virtual ememory::SharedPtr< exml::internal::CommenttoComment ()
 
virtual const ememory::SharedPtr< exml::internal::CommenttoComment () const
 
virtual ememory::SharedPtr< exml::internal::ElementtoElement ()
 
virtual const ememory::SharedPtr< exml::internal::ElementtoElement () const
 
virtual ememory::SharedPtr< exml::internal::TexttoText ()
 
virtual const ememory::SharedPtr< exml::internal::TexttoText () const
 
bool isDocument () const
 
bool isAttribute () const
 
bool isComment () const
 
bool isDeclaration () const
 
bool isElement () const
 
bool isText () const
 
- Public Member Functions inherited from ememory::EnableSharedFromThis< Node >
ememory::SharedPtr< EMEMORY_TYPE > sharedFromThis ()
 
const ememory::SharedPtr< EMEMORY_TYPE > sharedFromThis () const
 
ememory::WeakPtr< EMEMORY_TYPE > weakFromThis ()
 
const ememory::WeakPtr< EMEMORY_TYPE > weakFromThis () const
 

Static Public Member Functions

static ememory::SharedPtr< Declarationcreate (const std::string &_name="")
 

Protected Member Functions

 Declaration (const std::string &_name="")
 
- Protected Member Functions inherited from exml::internal::AttributeList
 AttributeList (const std::string &_value="")
 
- Protected Member Functions inherited from exml::internal::Node
 Node ()
 
 Node (const std::string &_value)
 
void addIndent (std::string &_data, int32_t _indent) const
 
void drawElementParsed (char32_t _val, const exml::FilePos &_filePos) const
 
bool checkAvaillable (char32_t _val, bool _firstChar) const
 
int32_t countWhiteChar (const std::string &_data, int32_t _pos, exml::FilePos &_filePos) const
 

Additional Inherited Members

- Protected Attributes inherited from exml::internal::AttributeList
std::vector< ememory::SharedPtr< exml::internal::Attribute > > m_listAttribute
 
- Protected Attributes inherited from exml::internal::Node
exml::FilePos m_pos
 
std::string m_value
 

Detailed Description

Declaration node: <?XXXXXX ... >.

Constructor & Destructor Documentation

§ Declaration()

exml::internal::Declaration::Declaration ( const std::string &  _name = "")
inlineprotected

Constructor.

Parameters
[in]_namename of the declaration (xml, xml:xxxx ...)

Member Function Documentation

§ create()

static ememory::SharedPtr<Declaration> exml::internal::Declaration::create ( const std::string &  _name = "")
static

Factory to create declaration.

Parameters
[in]_namename of the declaration (xml, xml:xxxx ...)
Returns
a structure declaration

§ getType()

enum nodeType exml::internal::Declaration::getType ( ) const
inlineoverridevirtual

get the node type.

Returns
the type of the Node.

Reimplemented from exml::internal::Node.

§ iGenerate()

bool exml::internal::Declaration::iGenerate ( std::string &  _data,
int32_t  _indent 
) const
overridevirtual

generate a string with the tree of the xml

Parameters
[in,out]_datastring where to add the elements
[in]_indentcurrent indentation of the file
Returns
false if an error occured.

Reimplemented from exml::internal::AttributeList.

§ iParse()

bool exml::internal::Declaration::iParse ( const std::string &  _data,
int32_t &  _pos,
bool  _caseSensitive,
exml::FilePos _filePos,
exml::internal::Document _doc 
)
overridevirtual

parse the Current node [pure VIRUAL]

Parameters
[in]_datadata string to parse.
[in,out]_posposition in the string to start parse, return the position end of parsing.
[in]_caseSensitiveRequest a parsion of element that is not case sensitive (all element is in low case)
[in,out]_filePosfile parsing position (line x col x)
[in,out]_docBase document reference
Returns
false if an error occured.

Implements exml::internal::Node.

§ toDeclaration() [1/2]

ememory::SharedPtr<exml::internal::Declaration> exml::internal::Declaration::toDeclaration ( )
inlineoverridevirtual

Cast the element in a Declaration if it is possible.

Returns
pointer on the class or nullptr.

Reimplemented from exml::internal::Node.

§ toDeclaration() [2/2]

const ememory::SharedPtr<exml::internal::Declaration> exml::internal::Declaration::toDeclaration ( ) const
inlineoverridevirtual

Cast the element in a Declaration if it is possible.

Returns
CONST pointer on the class or nullptr.

Reimplemented from exml::internal::Node.


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