#include <String.hpp>

Inheritance diagram for ejson::internal::String:
ejson::internal::Value ememory::EnableSharedFromThis< Value > ememory::EnableSharedFromThisBase

Public Member Functions

void set (const std::string &_value)
 
const std::stringget () const
 
bool iParse (const std::string &_data, size_t &_pos, ejson::FilePos &_filePos, ejson::internal::Document &_doc) override
 
bool iGenerate (std::string &_data, size_t _indent) const override
 
void iMachineGenerate (std::string &_data) const override
 
bool transfertIn (ememory::SharedPtr< ejson::internal::Value > _obj) override
 
ememory::SharedPtr< ejson::internal::Valueclone () const override
 
- Public Member Functions inherited from ejson::internal::Value
enum ejson::valueType getType () const
 
virtual ~Value ()
 
void display () const
 
virtual void clear ()
 
- Public Member Functions inherited from ememory::EnableSharedFromThis< Value >
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< Stringcreate (const std::string &_value="")
 

Protected Member Functions

 String (const std::string &_value="")
 
- Protected Member Functions inherited from ejson::internal::Value
 Value ()
 
void addIndent (std::string &_data, int32_t _indent) const
 
void drawElementParsed (char32_t _val, const ejson::FilePos &_filePos) const
 
bool checkString (char32_t _val) const
 
bool checkNumber (char32_t _val) const
 
int32_t countWhiteChar (const std::string &_data, size_t _pos, ejson::FilePos &_filePos) const
 

Protected Attributes

std::string m_value
 
- Protected Attributes inherited from ejson::internal::Value
enum ejson::valueType m_type
 

Additional Inherited Members

- Static Protected Member Functions inherited from ejson::internal::Value
static bool isWhiteChar (char32_t _val)
 

Detailed Description

ejson String internal data implementation.

Constructor & Destructor Documentation

§ String()

ejson::internal::String::String ( const std::string _value = "")
protected

basic element of a xml structure

Parameters
[in]_valueValue to set on the ejson::Value

Member Function Documentation

§ clone()

ememory::SharedPtr<ejson::internal::Value> ejson::internal::String::clone ( ) const
overridevirtual

Copy the curent node and all the child in the curent one.

Returns
nullptr in an error occured, the pointer on the element otherwise

Reimplemented from ejson::internal::Value.

§ create()

static ememory::SharedPtr<String> ejson::internal::String::create ( const std::string _value = "")
static

Create factory on the ejson::internal::String.

Parameters
[in]_valueValue to set on the ejson::Value
Returns
A SharedPtr on the String value

§ get()

const std::string& ejson::internal::String::get ( ) const

get the current element Value.

Returns
the reference of the string value.

§ iGenerate()

bool ejson::internal::String::iGenerate ( std::string _data,
size_t  _indent 
) const
overridevirtual

generate a string with the tree of the json

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

Implements ejson::internal::Value.

§ iMachineGenerate()

void ejson::internal::String::iMachineGenerate ( std::string _data) const
overridevirtual

generate a string with the tree of the json (not human readable ==> for computer transfer)

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

Implements ejson::internal::Value.

§ iParse()

bool ejson::internal::String::iParse ( const std::string _data,
size_t &  _pos,
ejson::FilePos _filePos,
ejson::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,out]_filePosPosition in the file (in X/Y)
[in,out]_docReference on the main document
Returns
false if an error occured.

Implements ejson::internal::Value.

§ set()

void ejson::internal::String::set ( const std::string _value)

set the value of the node.

Parameters
[in]_valueNew value of the node.

§ transfertIn()

bool ejson::internal::String::transfertIn ( ememory::SharedPtr< ejson::internal::Value _obj)
overridevirtual

Tranfert all element in the element set in parameter.

Parameters
[in,out]_objmove all parameter in the selected element
Returns
true if transfer is done corectly
Note
all element is remove from the curent element.

Reimplemented from ejson::internal::Value.

Member Data Documentation

§ m_value

std::string ejson::internal::String::m_value
protected

value of the node (for element this is the name, for text it is the inside text ...)


The documentation for this class was generated from the following file:
  • framework/atria-soft/ejson/ejson/internal/String.hpp