libigl v2.5.0
Loading...
Searching...
No Matches
serialize_xml.h File Reference
#include "../igl_inline.h"
#include <Eigen/Dense>
#include <Eigen/Sparse>
#include <tinyxml2.h>
#include <type_traits>
#include <functional>
#include <iostream>
#include <vector>
#include <set>
#include <map>
#include <memory>
#include "serialize_xml.cpp"

Go to the source code of this file.

Classes

struct  igl::xml::serialization_xml::is_stl_container< T >
 
struct  igl::xml::serialization_xml::is_stl_container< std::pair< T1, T2 > >
 
struct  igl::xml::serialization_xml::is_stl_container< std::vector< T1, T2 > >
 
struct  igl::xml::serialization_xml::is_stl_container< std::set< T > >
 
struct  igl::xml::serialization_xml::is_stl_container< std::map< T1, T2 > >
 
struct  igl::xml::serialization_xml::is_eigen_type< T >
 
struct  igl::xml::serialization_xml::is_eigen_type< Eigen::Matrix< T, R, C, P, MR, MC > >
 
struct  igl::xml::serialization_xml::is_eigen_type< Eigen::SparseMatrix< T, P, I > >
 
struct  igl::xml::serialization_xml::is_serializable< T >
 

Namespaces

namespace  igl
 
namespace  igl::xml
 
namespace  igl::xml::serialization_xml
 

Functions

template<typename T >
void igl::xml::serialize_xml (const T &obj, const std::string &objectName, const std::string &filename, bool binary=false, bool overwrite=false)
 Serialize object to file.
 
template<typename T >
void igl::xml::serialize_xml (const T &obj, const std::string &filename)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
template<typename T >
void igl::xml::serialize_xml (const T &obj, const std::string &objectName, tinyxml2::XMLDocument *doc, tinyxml2::XMLElement *element, bool binary=false)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
template<typename T >
void igl::xml::deserialize_xml (T &obj, const std::string &objectName, const std::string &filename)
 deserialize object to file
 
template<typename T >
void igl::xml::deserialize_xml (T &obj, const std::string &filename)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.include/igl/xml/serialize_xml.h.
 
template<typename T >
void igl::xml::deserialize_xml (T &obj, const std::string &objectName, const tinyxml2::XMLDocument *doc, const tinyxml2::XMLElement *element)
 Deserialize to xml doc.
 
template<typename T >
std::enable_if< std::is_fundamental< T >::value >::type igl::xml::serialization_xml::serialize (const T &obj, tinyxml2::XMLDocument *doc, tinyxml2::XMLElement *element, const std::string &name)
 
template<typename T >
std::enable_if< std::is_fundamental< T >::value >::type igl::xml::serialization_xml::deserialize (T &obj, const tinyxml2::XMLDocument *doc, const tinyxml2::XMLElement *element, const std::string &name)
 
void igl::xml::serialization_xml::serialize (const std::string &obj, tinyxml2::XMLDocument *doc, tinyxml2::XMLElement *element, const std::string &name)
 
void igl::xml::serialization_xml::deserialize (std::string &obj, const tinyxml2::XMLDocument *doc, const tinyxml2::XMLElement *element, const std::string &name)
 
template<typename T >
std::enable_if< std::is_base_of< XMLSerializableBase, T >::value >::type igl::xml::serialization_xml::serialize (const T &obj, tinyxml2::XMLDocument *doc, tinyxml2::XMLElement *element, const std::string &name)
 
template<typename T >
std::enable_if< std::is_base_of< XMLSerializableBase, T >::value >::type igl::xml::serialization_xml::deserialize (T &obj, const tinyxml2::XMLDocument *doc, const tinyxml2::XMLElement *element, const std::string &name)
 
template<typename T1 , typename T2 >
void igl::xml::serialization_xml::serialize (const std::pair< T1, T2 > &obj, tinyxml2::XMLDocument *doc, tinyxml2::XMLElement *element, const std::string &name)
 
template<typename T1 , typename T2 >
void igl::xml::serialization_xml::deserialize (std::pair< T1, T2 > &obj, const tinyxml2::XMLDocument *doc, const tinyxml2::XMLElement *element, const std::string &name)
 
template<typename T1 , typename T2 >
void igl::xml::serialization_xml::serialize (const std::vector< T1, T2 > &obj, tinyxml2::XMLDocument *doc, tinyxml2::XMLElement *element, const std::string &name)
 
template<typename T1 , typename T2 >
void igl::xml::serialization_xml::deserialize (std::vector< T1, T2 > &obj, const tinyxml2::XMLDocument *doc, const tinyxml2::XMLElement *element, const std::string &name)
 
template<typename T >
void igl::xml::serialization_xml::serialize (const std::set< T > &obj, tinyxml2::XMLDocument *doc, tinyxml2::XMLElement *element, const std::string &name)
 
template<typename T >
void igl::xml::serialization_xml::deserialize (std::set< T > &obj, const tinyxml2::XMLDocument *doc, const tinyxml2::XMLElement *element, const std::string &name)
 
template<typename T1 , typename T2 >
void igl::xml::serialization_xml::serialize (const std::map< T1, T2 > &obj, tinyxml2::XMLDocument *doc, tinyxml2::XMLElement *element, const std::string &name)
 
template<typename T1 , typename T2 >
void igl::xml::serialization_xml::deserialize (std::map< T1, T2 > &obj, const tinyxml2::XMLDocument *doc, const tinyxml2::XMLElement *element, const std::string &name)
 
template<typename T , int R, int C, int P, int MR, int MC>
void igl::xml::serialization_xml::serialize (const Eigen::Matrix< T, R, C, P, MR, MC > &obj, const std::string &name, const std::function< std::string(const T &) > &to_string, tinyxml2::XMLDocument *doc, tinyxml2::XMLElement *element)
 
template<typename T , int R, int C, int P, int MR, int MC>
void igl::xml::serialization_xml::deserialize (const tinyxml2::XMLDocument *doc, const tinyxml2::XMLElement *element, const std::string &name, const std::function< void(const std::string &, T &)> &from_string, Eigen::Matrix< T, R, C, P, MR, MC > &obj)
 
template<typename T , int R, int C, int P, int MR, int MC>
void igl::xml::serialization_xml::serialize (const Eigen::Matrix< T, R, C, P, MR, MC > &obj, tinyxml2::XMLDocument *doc, tinyxml2::XMLElement *element, const std::string &name)
 
template<typename T , int R, int C, int P, int MR, int MC>
void igl::xml::serialization_xml::deserialize (Eigen::Matrix< T, R, C, P, MR, MC > &obj, const tinyxml2::XMLDocument *doc, const tinyxml2::XMLElement *element, const std::string &name)
 
template<typename T , int P, typename I >
void igl::xml::serialization_xml::serialize (const Eigen::SparseMatrix< T, P, I > &obj, tinyxml2::XMLDocument *doc, tinyxml2::XMLElement *element, const std::string &name)
 
template<typename T , int P, typename I >
void igl::xml::serialization_xml::deserialize (Eigen::SparseMatrix< T, P, I > &obj, const tinyxml2::XMLDocument *doc, const tinyxml2::XMLElement *element, const std::string &name)
 
template<typename T >
std::enable_if< std::is_pointer< T >::value >::type igl::xml::serialization_xml::serialize (const T &obj, tinyxml2::XMLDocument *doc, tinyxml2::XMLElement *element, const std::string &name)
 
template<typename T >
std::enable_if< std::is_pointer< T >::value >::type igl::xml::serialization_xml::deserialize (T &obj, const tinyxml2::XMLDocument *doc, const tinyxml2::XMLElement *element, const std::string &name)
 
tinyxml2::XMLElement * igl::xml::serialization_xml::getElement (tinyxml2::XMLDocument *doc, tinyxml2::XMLElement *element, const std::string &name)
 
void igl::xml::serialization_xml::getAttribute (const char *src, bool &dest)
 
void igl::xml::serialization_xml::getAttribute (const char *scr, char &dest)
 
void igl::xml::serialization_xml::getAttribute (const char *src, std::string &dest)
 
void igl::xml::serialization_xml::getAttribute (const char *src, float &dest)
 
void igl::xml::serialization_xml::getAttribute (const char *src, double &dest)
 
template<typename T >
std::enable_if< std::is_integral< T >::value &&std::is_unsigned< T >::value >::type igl::xml::serialization_xml::getAttribute (const char *src, T &dest)
 
template<typename T >
std::enable_if< std::is_integral< T >::value &&!std::is_unsigned< T >::value >::type igl::xml::serialization_xml::getAttribute (const char *src, T &dest)
 
void igl::xml::serialization_xml::replaceSubString (std::string &str, const std::string &search, const std::string &replace)
 
void igl::xml::serialization_xml::encodeXMLElementName (std::string &name)
 
void igl::xml::serialization_xml::decodeXMLElementName (std::string &name)
 
std::string igl::xml::serialization_xml::base64_encode (unsigned char const *bytes_to_encode, unsigned int in_len)
 
std::string igl::xml::serialization_xml::base64_decode (std::string const &encoded_string)