Home | Develop | Download | Contact
Namespaces | Estructuras de datos
Clase Pds::JsonElement

Clase que implementa un elemento de una estructura Json. Más...

Namespaces

namespace  Pds
 Nombre de espacio para Pds (Procesamiento Digital de Senales)
 

Estructuras de datos

class  Pds::JsonElement
 La clase tipo Pds::JsonElement . Esta clase genera un elemento de una estructura Json. Para usar incluir #include <Pds/JsonElement>. Más...
 

Constructores

Crean una objeto Pds::JsonElement

 Pds::JsonElement::JsonElement ()
 Crea un objeto de tipo Pds::JsonElement vacio. Más...
 
 Pds::JsonElement::JsonElement (bool Boolean)
 Crea un objeto de tipo Pds::JsonElement. Más...
 
 Pds::JsonElement::JsonElement (int Integer)
 Crea un objeto de tipo Pds::JsonElement. Más...
 
 Pds::JsonElement::JsonElement (unsigned int Integer)
 Crea un objeto de tipo Pds::JsonElement. Más...
 
 Pds::JsonElement::JsonElement (long int Integer)
 Crea un objeto de tipo Pds::JsonElement. Más...
 
 Pds::JsonElement::JsonElement (double Real)
 Crea un objeto de tipo Pds::JsonElement. Más...
 
 Pds::JsonElement::JsonElement (std::string String)
 Crea un objeto de tipo Pds::JsonElement. Más...
 
 Pds::JsonElement::JsonElement (const char *String)
 Crea un objeto de tipo Pds::JsonElement. Más...
 
 Pds::JsonElement::JsonElement (const Pds::Json &JSon)
 Crea un objeto de tipo Pds::JsonElement. Más...
 
 Pds::JsonElement::JsonElement (const std::vector< bool > &ArrayB)
 Crea un objeto de tipo Pds::JsonElement. Más...
 
 Pds::JsonElement::JsonElement (const std::vector< int > &ArrayI)
 Crea un objeto de tipo Pds::JsonElement. Más...
 
 Pds::JsonElement::JsonElement (const std::vector< long int > &ArrayI)
 Crea un objeto de tipo Pds::JsonElement. Más...
 
 Pds::JsonElement::JsonElement (const std::vector< double > &ArrayR)
 Crea un objeto de tipo Pds::JsonElement. Más...
 
 Pds::JsonElement::JsonElement (const std::vector< std::string > &ArrayS)
 Crea un objeto de tipo Pds::JsonElement. Más...
 
 Pds::JsonElement::JsonElement (const std::vector< Pds::Json > &ArrayJ)
 Crea un objeto de tipo Pds::JsonElement. Más...
 
 Pds::JsonElement::JsonElement (const Pds::JsonElement &Je)
 Crea un objeto de tipo Pds::JsonElement a partir de otro Pds::JsonElement. Más...
 
 Pds::JsonElement::~JsonElement ()
 

Métodos de estado

Indican o establecen el estado de un objeto Json.

bool Pds::JsonElement::IsEmpty (void) const
 Verifica si el objeto JsonElement es nulo. Más...
 

Métodos get set

Obtienen o establecen valores en un objeto JsonElement.

std::string Pds::JsonElement::GetType (void) const
 Retorna el tipo del elemento de tipo Json. Más...
 
void * Pds::JsonElement::GetDataPtr (void) const
 Retorna un puntero al dato del elemento de tipo Json. Más...
 
bool & Pds::JsonElement::GetBoolean (void) const
 Retorna una referencia al dato "Boolean" del elemento de tipo Json. Más...
 
long int & Pds::JsonElement::GetInteger (void) const
 Retorna una referencia al dato "Integer" del elemento de tipo Json. Más...
 
double & Pds::JsonElement::GetReal (void) const
 Retorna una referencia al dato "Real" del elemento de tipo Json. Más...
 
std::string & Pds::JsonElement::GetString (void) const
 Retorna una referencia al dato "String" del elemento de tipo Json. Más...
 
Pds::JsonPds::JsonElement::GetJson (void) const
 Retorna una referencia al dato "Json" del elemento de tipo Json. Más...
 
std::vector< bool > & Pds::JsonElement::GetArrayB (void) const
 Retorna una referencia al dato "ArrayB" del elemento de tipo Json. Más...
 
std::vector< long int > & Pds::JsonElement::GetArrayI (void) const
 Retorna una referencia al dato "ArrayI" del elemento de tipo Json. Más...
 
std::vector< double > & Pds::JsonElement::GetArrayR (void) const
 Retorna una referencia al dato "ArrayR" del elemento de tipo Json. Más...
 
std::vector< std::string > & Pds::JsonElement::GetArrayS (void) const
 Retorna una referencia al dato "ArrayS" del elemento de tipo Json. Más...
 
std::vector< Pds::Json > & Pds::JsonElement::GetArrayJ (void) const
 Retorna una referencia al dato "ArrayJ" del elemento de tipo Json. Más...
 

Métodos para reordenar memoria con Pds::Json.

Herramientas genéricas

void Pds::JsonElement::MakeEmpty ()
 Libera los datos internos del objeto y lo convierte en uno nulo. Más...
 
bool Pds::JsonElement::Copy (const Pds::JsonElement &Je)
 Copia en si mismo (A), el contenido de un objeto Je. Este método es similar a usar el operador = . No importa el tamaño de A, sus datos son liberados y un nuevo arreglo de datos es reservado. Más...
 
Pds::JsonElementPds::JsonElement::operator= (const Pds::JsonElement &Je)
 Copia en si mismo (A), un objeto Je. Este operador es similar al método Copy(). No importa el tamaño de A, sus datos son liberados y un nuevo arreglo de datos es reservado. Más...
 

Métodos load

Imprimir datos

static std::string Pds::JsonElement::TypeOfString (const std::string &elstr)
 Retorna un std::string indicando o tipo de dato en elstr. Más...
 
static Pds::JsonElement Pds::JsonElement::LoadFromStringOfType (const std::string &type, const std::string &data)
 

Métodos print

Imprimir datos

void Pds::JsonElement::Print (bool last=true, unsigned int Ntabs=0) const
 Retorna un std::string con texto en formato JsonElement. Más...
 
std::string Pds::JsonElement::ToString (bool last, unsigned int Ntabs) const
 Retorna un std::string con texto en formato JsonElement. Más...
 
std::string Pds::JsonElement::ToString (unsigned int Ntabs=0) const
 Retorna un std::string con texto en formato JsonElement. Más...
 

Operadores no miembros

Descripcion de algunos operadores habilitados a trabajar con Pds::JsonElement.

std::ostream & operator<< (std::ostream &out, const Pds::JsonElement &Je)
 Retorna el contenido del elemento. Más...
 

Descripción detallada

Clase que implementa un elemento de una estructura Json.

#include <Pds/JsonElement>

Documentación de las funciones

◆ JsonElement() [1/16]

Pds::JsonElement::JsonElement ( )

Crea un objeto de tipo Pds::JsonElement vacio.

Para crear un objeto vacio:

if(E.IsEmpty()) std::cout<<"Yes,always\n";
La clase tipo Pds::JsonElement . Esta clase genera un elemento de una estructura Json....
Definition: JsonElement.hpp:52
bool IsEmpty(void) const
Verifica si el objeto JsonElement es nulo.

◆ JsonElement() [2/16]

Pds::JsonElement::JsonElement ( bool  Boolean)

Crea un objeto de tipo Pds::JsonElement.

Para crear un objeto:

E.Print();
Parámetros
[in]BooleanDato del elemento.

◆ JsonElement() [3/16]

Pds::JsonElement::JsonElement ( int  Integer)

Crea un objeto de tipo Pds::JsonElement.

Para crear un objeto:

E.Print();
Parámetros
[in]IntegerDato del elemento.

◆ JsonElement() [4/16]

Pds::JsonElement::JsonElement ( unsigned int  Integer)

Crea un objeto de tipo Pds::JsonElement.

Para crear un objeto:

E.Print();
Parámetros
[in]IntegerDato del elemento.

◆ JsonElement() [5/16]

Pds::JsonElement::JsonElement ( long int  Integer)

Crea un objeto de tipo Pds::JsonElement.

Para crear un objeto:

E.Print();
Parámetros
[in]IntegerDato del elemento.

◆ JsonElement() [6/16]

Pds::JsonElement::JsonElement ( double  Real)

Crea un objeto de tipo Pds::JsonElement.

Para crear un objeto:

Pds::JsonElement E(3.14159);
E.Print();
Parámetros
[in]RealDato del elemento.

◆ JsonElement() [7/16]

Pds::JsonElement::JsonElement ( std::string  String)

Crea un objeto de tipo Pds::JsonElement.

Para crear un objeto:

Pds::JsonElement E("Any text");
E.Print();
Parámetros
[in]StringDato del elemento.

◆ JsonElement() [8/16]

Pds::JsonElement::JsonElement ( const char *  String)

Crea un objeto de tipo Pds::JsonElement.

Para crear un objeto:

Pds::JsonElement E("Any text");
E.Print();
Parámetros
[in]StringDato del elemento.

◆ JsonElement() [9/16]

Pds::JsonElement::JsonElement ( const Pds::Json JSon)

Crea un objeto de tipo Pds::JsonElement.

Para crear un objeto:

E.Print();
Parámetros
[in]JSonDato del elemento.

◆ JsonElement() [10/16]

Pds::JsonElement::JsonElement ( const std::vector< bool > &  ArrayB)

Crea un objeto de tipo Pds::JsonElement.

Para crear un objeto:

Pds::JsonElement E(std::vector<bool>({true,false,true}));
E.Print();
Parámetros
[in]ArrayBDato del elemento.

◆ JsonElement() [11/16]

Pds::JsonElement::JsonElement ( const std::vector< int > &  ArrayI)

Crea un objeto de tipo Pds::JsonElement.

Para crear un objeto:

Pds::JsonElement E(std::vector<int>({1,-1,3}));
E.Print();
Parámetros
[in]ArrayIDato del elemento.

◆ JsonElement() [12/16]

Pds::JsonElement::JsonElement ( const std::vector< long int > &  ArrayI)

Crea un objeto de tipo Pds::JsonElement.

Para crear un objeto:

Pds::JsonElement E(std::vector<long int>({1,-1,3}));
E.Print();
Parámetros
[in]ArrayIDato del elemento.

◆ JsonElement() [13/16]

Pds::JsonElement::JsonElement ( const std::vector< double > &  ArrayR)

Crea un objeto de tipo Pds::JsonElement.

Para crear un objeto:

Pds::JsonElement E(std::vector<double>({1.4,-2.1,3}));
E.Print();
Parámetros
[in]ArrayRDato del elemento.

◆ JsonElement() [14/16]

Pds::JsonElement::JsonElement ( const std::vector< std::string > &  ArrayS)

Crea un objeto de tipo Pds::JsonElement.

Para crear un objeto:

Pds::JsonElement E(std::vector<std::string>({"hola","adios"}));
E.Print();
Parámetros
[in]ArraySDato del elemento.

◆ JsonElement() [15/16]

Pds::JsonElement::JsonElement ( const std::vector< Pds::Json > &  ArrayJ)

Crea un objeto de tipo Pds::JsonElement.

Para crear un objeto:

Pds::JsonElement E(std::vector<Pds::Json>({J1,J2}));
E.Print();
Parámetros
[in]ArrayJDato del elemento.

◆ JsonElement() [16/16]

Pds::JsonElement::JsonElement ( const Pds::JsonElement Je)

Crea un objeto de tipo Pds::JsonElement a partir de otro Pds::JsonElement.

Para crear un objeto:

E.Print();
Parámetros
[in]JeOtro elemento Json.

◆ IsEmpty()

bool Pds::JsonElement::IsEmpty ( void  ) const

Verifica si el objeto JsonElement es nulo.

Devuelve
Retorna true si es nula e false si no.

◆ GetType()

std::string Pds::JsonElement::GetType ( void  ) const

Retorna el tipo del elemento de tipo Json.

Type en *.GetType()
Type C type Descripción
"Boolean"bool Booleano
"Integer"long int Entero
"Real" double Numero real
"String" std::string Cadena texto
"Json" Pds::Json Objeto de tipo Json
"ArrayB" std::vector<bool> Vector de boleanos
"ArrayI" std::vector<long int> Vector de números enteros
"ArrayR" std::vector<double> Vector de números reales
"ArrayS" std::vector<std::string> Vector de cadenas de texto
"ArrayJ" std::vector<Pds::Json> Vector de objetos Json
Devuelve
Retorna el tipo del elemento de tipo Json.

◆ GetDataPtr()

void * Pds::JsonElement::GetDataPtr ( void  ) const

Retorna un puntero al dato del elemento de tipo Json.

Devuelve
Retorna un puntero al dato del elemento de tipo Json.

◆ GetBoolean()

bool & Pds::JsonElement::GetBoolean ( void  ) const

Retorna una referencia al dato "Boolean" del elemento de tipo Json.

Atención
Si el elemento está vacio o no es "Boolean" acontece std::abort();
Devuelve
Retorna una referencia al dato "Boolean" del elemento de tipo Json.

◆ GetInteger()

long int & Pds::JsonElement::GetInteger ( void  ) const

Retorna una referencia al dato "Integer" del elemento de tipo Json.

Atención
Si el elemento está vacio o no es "Integer" acontece std::abort();
Devuelve
Retorna una referencia al dato "Integer" del elemento de tipo Json.

◆ GetReal()

double & Pds::JsonElement::GetReal ( void  ) const

Retorna una referencia al dato "Real" del elemento de tipo Json.

Atención
Si el elemento está vacio o no es "Real" acontece std::abort();
Devuelve
Retorna una referencia al dato "Real" del elemento de tipo Json.

◆ GetString()

std::string & Pds::JsonElement::GetString ( void  ) const

Retorna una referencia al dato "String" del elemento de tipo Json.

Atención
Si el elemento está vacio o no es "String" acontece std::abort();
Devuelve
Retorna una referencia al dato "String" del elemento de tipo Json.

◆ GetJson()

Pds::Json & Pds::JsonElement::GetJson ( void  ) const

Retorna una referencia al dato "Json" del elemento de tipo Json.

Atención
Si el elemento está vacio o no es "Json" acontece std::abort();
Devuelve
Retorna una referencia al dato "Json" del elemento de tipo Json.

◆ GetArrayB()

std::vector< bool > & Pds::JsonElement::GetArrayB ( void  ) const

Retorna una referencia al dato "ArrayB" del elemento de tipo Json.

Atención
Si el elemento está vacio o no es "ArrayB" acontece std::abort();
Devuelve
Retorna una referencia al dato "ArrayB" del elemento de tipo Json.

◆ GetArrayI()

std::vector< long int > & Pds::JsonElement::GetArrayI ( void  ) const

Retorna una referencia al dato "ArrayI" del elemento de tipo Json.

Atención
Si el elemento está vacio o no es "ArrayI" acontece std::abort();
Devuelve
Retorna una referencia al dato "ArrayI" del elemento de tipo Json.

◆ GetArrayR()

std::vector< double > & Pds::JsonElement::GetArrayR ( void  ) const

Retorna una referencia al dato "ArrayR" del elemento de tipo Json.

Atención
Si el elemento está vacio o no es "ArrayR" acontece std::abort();
Devuelve
Retorna una referencia al dato "ArrayR" del elemento de tipo Json.

◆ GetArrayS()

std::vector< std::string > & Pds::JsonElement::GetArrayS ( void  ) const

Retorna una referencia al dato "ArrayS" del elemento de tipo Json.

Atención
Si el elemento está vacio o no es "ArrayS" acontece std::abort();
Devuelve
Retorna una referencia al dato "ArrayS" del elemento de tipo Json.

◆ GetArrayJ()

std::vector< Pds::Json > & Pds::JsonElement::GetArrayJ ( void  ) const

Retorna una referencia al dato "ArrayJ" del elemento de tipo Json.

Atención
Si el elemento está vacio o no es "ArrayJ" acontece std::abort();
Devuelve
Retorna una referencia al dato "ArrayJ" del elemento de tipo Json.

◆ MakeEmpty()

void Pds::JsonElement::MakeEmpty ( )

Libera los datos internos del objeto y lo convierte en uno nulo.

◆ Copy()

bool Pds::JsonElement::Copy ( const Pds::JsonElement Je)

Copia en si mismo (A), el contenido de un objeto Je. Este método es similar a usar el operador = . No importa el tamaño de A, sus datos son liberados y un nuevo arreglo de datos es reservado.

\[ A \leftarrow Je \]

Parámetros
[in]JeEl objeto a copiar
Devuelve
Retorna true si todo fue bien o false si no. Si se retorna false el receptor no altera su contenido.
Ver también
Copy

◆ operator=()

Pds::JsonElement & Pds::JsonElement::operator= ( const Pds::JsonElement Je)

Copia en si mismo (A), un objeto Je. Este operador es similar al método Copy(). No importa el tamaño de A, sus datos son liberados y un nuevo arreglo de datos es reservado.

\[ A \leftarrow Je \]

Cuando acontece:

// code
A=Je;

Cuando NO acontece:

La clase tipo Pds::Json . Esta clase genera una estructura capaz de almacenar datos del formato Json....
Definition: Json.hpp:63
Parámetros
[in]JeEl objeto a copiar
Devuelve
Retorna el operador de la izquierda (acumulador) con el resultado, o un objeto vacío (this->IsEmpty() igual a true) en caso de error.
Ver también
Copy

◆ TypeOfString()

static std::string Pds::JsonElement::TypeOfString ( const std::string &  elstr)
static

Retorna un std::string indicando o tipo de dato en elstr.

Pds::JsonElement::TypeOfString()
Type C type Descripción
"Integer"long int Entero
"Real" double Numero real
"String" std::string Cadena texto
"Json" Pds::Json Objeto de tipo Json
"ArrayI" std::vector<long int> Vector de números enteros
"ArrayR" std::vector<double> Vector de números reales
"ArrayS" std::vector<std::string> Vector de cadenas de texto
"ArrayJ" std::vector<Pds::Json> Vector de objetos Json
Parámetros
[in]elstrCadena a analizar.
Devuelve
Retorna un std::string indicando o tipo de dato en elstr.
Ejemplos
example_jsonelement_load.cpp.

◆ Print()

void Pds::JsonElement::Print ( bool  last = true,
unsigned int  Ntabs = 0 
) const

Retorna un std::string con texto en formato JsonElement.

Parámetros
[in]lastSi last==false coloca una "," al final.
[in]NtabsNumero de tabs antes de cada linea.
Ejemplos
example_jsonelement_create.cpp.

◆ ToString() [1/2]

std::string Pds::JsonElement::ToString ( bool  last,
unsigned int  Ntabs 
) const

Retorna un std::string con texto en formato JsonElement.

Parámetros
[in]lastSi last==false coloca una "," al final.
[in]NtabsNumero de tabs antes de cada linea.
Devuelve
Retorna un std::string con texto en formato JsonElement.

◆ ToString() [2/2]

std::string Pds::JsonElement::ToString ( unsigned int  Ntabs = 0) const

Retorna un std::string con texto en formato JsonElement.

Parámetros
[in]NtabsNumero de tabs antes de cada linea.
Devuelve
Retorna un std::string con texto en formato JsonElement.

◆ operator<<()

std::ostream & operator<< ( std::ostream &  out,
const Pds::JsonElement Je 
)

Retorna el contenido del elemento.

std::cout<<Je;

es equivalente a :

std::cout<<Je.ToString();
Parámetros
[in]outLa salida
[in]JeElemento a mostrar
Devuelve
Retorna la misma salida estándar out.
Ver también
Pds::JsonElement::ToString();

◆ ~JsonElement()

Pds::JsonElement::~JsonElement ( )

◆ LoadFromStringOfType()

static Pds::JsonElement Pds::JsonElement::LoadFromStringOfType ( const std::string &  type,
const std::string &  data 
)
static

Enlaces de interés

HomePage Bazaar Download Bug report Ayuda Developer Feed