Home | Develop | Download | Contact
example_binarytreenode.cpp
1
43#include <cmath>
44#include <Pds/Ra>
45#include <Pds/BinaryTreeNode>
46
47
48std::string MyToString(const Pds::Vector &V)
49{
50 return V.T().ToString("");
51}
52
53std::string FuncDatumToXmlString(const Pds::Vector &V)
54{
55 std::string str="";
56 str=str+"<Vector>\n";
57 for(unsigned int n=0;n<V.Nel();n++) str=str+std::to_string(V[n])+"\t";
58 str=str+"\n</Vector>\n";
59
60 return str;
61}
62
63Pds::Vector FuncXmlStringToDatum(const std::string &str)
64{
65 std::string StrInVector=Pds::Ra::FirstSubInString(str,"<Vector>","</Vector>",false);
66 return Pds::Vector(StrInVector);
67}
68
69int main(void)
70{
73
74 std::cout<<"E1.GetVal().T():"<<E1.GetVal().T();
75 std::cout<<"E1.HasChild0() :"<<E1.HasChild0()<<std::endl;
76 std::cout<<"E1.HasChild1() :"<<E1.HasChild1()<<std::endl;
77 E1.PrintNode("E1:\n");
78 std::cout<<std::endl;
79
80 std::cout<<"E2.GetVal().T():"<<E2.GetVal().T();
81 std::cout<<"E2.HasChild0() :"<<E2.HasChild0()<<std::endl;
82 std::cout<<"E2.HasChild1() :"<<E2.HasChild1()<<std::endl;
83 E2.PrintNode("E2:\n");
84 std::cout<<std::endl;
85
86 Pds::BinaryTreeNode<Pds::Vector> F("3 -3 3",E1,E2);
87
88 std::cout<<"F.GetVal().T():"<<F.GetVal().T();
89 std::cout<<"F.HasChild0() :"<<F.HasChild0()<<std::endl;
90 std::cout<<"F.HasChild1() :"<<F.HasChild1()<<std::endl;
91 std::cout<<std::endl;
92
93 F.ExportDotFile("file.dot",MyToString);
94
95 std::ofstream myfile("file.xml");
96 F.ExportXmlToStream(myfile,FuncDatumToXmlString);
97 myfile.close();
98
99 std::string str=F.ExportXmlToString(FuncDatumToXmlString);
100
102 G.ImportXmlFromString(str,FuncXmlStringToDatum);
103
104 std::ofstream myfile2("file2.xml");
105 G.ExportXmlToStream(myfile2,FuncDatumToXmlString);
106 myfile2.close();
107
108 return 0;
109}
La clase tipo Pds::BinaryTreeNode. Esta clase genera una estructura de datos que contem um valor y do...
La clase tipo Pds::Vector . Esta clase genera una matriz de Nlin lineas y 1 columna....
Definition: Vector.hpp:80
bool ImportXmlFromString(const std::string &str, Datum(*FuncXmlStringToDatum)(const std::string &))
Lee desde un std::string en formato Xml el contenido de todo el arbol desde el Pds::BinaryTreeNode.
bool ExportXmlToStream(std::ofstream &myfile, std::string(*FuncDatumToXmlString)(const Datum &)) const
Escribe en un std::ofstream en formato Xml el contenido de todo el arbol desde el Pds::BinaryTreeNode...
Pds::Matrix T(void) const
Transpuesta de si mismo (A), el resultado es cargado en B.
std::string ToString(void) const
Convierte los datos de la matriz en un std::string.
unsigned int Nel(void) const
Retorna el número de elementos de la matriz (Nlin x Ncol).
std::string FirstSubInString(const std::string &str, const std::string &DelL, const std::string &DelR, bool Full=false)
Retorna la primera cadena de texto dentro de un par de delimitadores.

Enlaces de interés

HomePage Bazaar Download Bug report Ayuda Developer Feed