tools.hxx File Reference

Some useful utility functions. More...

Include dependency graph for xml/tools.hxx:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  vcsn
namespace  vcsn::xml
namespace  vcsn::xml::tools

Defines

#define GET_SEMIRING_SET(T, Value)
#define GET_SEMIRING_OPERATIONS(S, Value)
#define FMPtype
#define TRANStype   Element<Transducer<S>, T>

Functions

template<class S, class T>
const char * get_semiring_set (const S &, const T &)
 Tools to generate automaton labels from string, and to ensure type compatibility.
template<class S, class U, class V>
const char * get_semiring_set (const S &, const vcsn::rat::exp< U, V > &)
template<class S>
const char * get_semiring_operations (const S &)
 GET_SEMIRING_OPERATIONS (vcsn::algebra::NumericalSemiring,"classical") GET_SEMIRING_OPERATIONS(vcsn
template<class S>
const char * get_monoid_type (const vcsn::algebra::FreeMonoid< S > &)
template<class S1, class S2>
const char * get_monoid_type (const vcsn::algebra::FreeMonoidProduct< S1, S2 > &)
xercesc::DOMElement * create_element (xercesc::DOMDocument *doc, const std::string &e)
void set_attribute (xercesc::DOMElement *e, const std::string &k, const std::string &v)
void xset_attribute (xercesc::DOMElement *e, const std::string &k, const std::string &v)
bool has_attribute (const xercesc::DOMElement *e, const std::string &k)
std::string get_attribute (const xercesc::DOMElement *e, const std::string &k)
template<class S, class T, class U>
void add_label (xercesc::DOMElement *, const Element< S, T > &, const U &)
template<class S, class T, class U>
void add_xml_label (xercesc::DOMDocument *doc, xercesc::DOMElement *elt, const Element< S, T > &a, const U &series)
template<class S, class T, class U, class M1, class M2>
void add_label (xercesc::DOMElement *elt, const Element< Automata< vcsn::algebra::Series< S, vcsn::algebra::FreeMonoidProduct< M1, M2 > > >, T > &, const U &series)
template<class S, class T, class U, class M1, class M2>
void add_xml_label (xercesc::DOMDocument *doc, xercesc::DOMElement *elt, const Element< Automata< vcsn::algebra::Series< S, vcsn::algebra::FreeMonoidProduct< M1, M2 > > >, T > &a, const U &series)
template<class S, class T, class U>
void add_label (xercesc::DOMElement *elt, const Element< Transducer< S >, T > &, const U &series)
template<class S, class T, class U>
void add_xml_label (xercesc::DOMDocument *doc, xercesc::DOMElement *elt, const Element< Transducer< S >, T > &a, const U &series)
template<class L>
const std::string get_label (const L &l)
const std::string get_label (const bool &l)
const std::string get_label (const std::pair< std::string, std::string > &l)
template<class S, class Series>
const std::string get_label (const Element< Series, vcsn::algebra::polynom< S, bool > > &l)
template<class A>
void create_alphabet (const A &alphabet, xercesc::DOMDocument *doc, xercesc::DOMElement *root)
template<class M>
xercesc::DOMElement * create_monoid (const M &monoid, xercesc::DOMDocument *doc, xercesc::DOMElement *elt)
template<class A, class S>
xercesc::DOMElement * create_semiring (const A &aut, const S &semiring, xercesc::DOMDocument *doc, xercesc::DOMElement *elt)
template<class S, class T>
xercesc::DOMElement * create_semiring (const Element< Transducer< S >, T > &, const vcsn::algebra::NumericalSemiring &semiring, xercesc::DOMDocument *doc, xercesc::DOMElement *elt)
template<class T>
void get_weight_attribute (typename T::semiring_elt_value_t &weight, xercesc::DOMElement *element, const char *attribute_name)
template<class T>
Element< typename T::series_set_t,
rat::exp< typename T::monoid_elt_value_t,
typename T::semiring_elt_value_t > > 
weighted_krat_exp (Element< typename T::series_set_t, rat::exp< typename T::monoid_elt_value_t, typename T::semiring_elt_value_t > > &krat_exp, typename T::semiring_elt_value_t &weight, typename T::semiring_elt_value_t &rweight)
template<class T>
Element< typename T::series_set_t,
rat::exp< typename T::monoid_elt_value_t,
typename T::semiring_elt_value_t > > 
get_rec_xml_series (xercesc::DOMNode *n, T &aut)
template<class T>
T::series_set_elt_t get_series (xercesc::DOMElement *node, T &aut)
 Get series from a XML label node.
template<class S, class T, class M1, class M2>
Element< Automata< vcsn::algebra::Series<
S, vcsn::algebra::FreeMonoidProduct<
M1, M2 > > >, T >::series_set_elt_t 
get_series (xercesc::DOMElement *node, Element< Automata< vcsn::algebra::Series< S, vcsn::algebra::FreeMonoidProduct< M1, M2 > > >, T > &a)
template<class S, class T>
Element< Transducer< S >,
T >::series_set_elt_t 
get_series (xercesc::DOMElement *node, Element< Transducer< S >, T > &a)
template<class S, class T, class E1, class E2, class R>
void assoc_exp (Element< Transducer< S >, T > &a, E1 &i_exp, E2 &o_exp, R &res, bool i_res, bool o_res)
template<class S, class T, class M1, class M2, class E1, class E2, class R>
void assoc_exp (Element< Automata< vcsn::algebra::Series< S, vcsn::algebra::FreeMonoidProduct< M1, M2 > > >, T > &a, E1 &i_exp, E2 &o_exp, R &res, bool i_res, bool o_res)
template<class A, class A1, class A2, class S>
void parse_label (xercesc::DOMElement *node, A &a, const A1 &alphabet1, const A2 &alphabet2, S &res)
template<class U, class V>
void insert_letter (Element< vcsn::algebra::AlphabetSet< U >, V > &a, const std::string &str)
 Insert a letter in an alphabet.
template<class V>
void insert_letter (Element< vcsn::algebra::AlphabetSet< char >, V > &a, const std::string &str)
void check_consistency (const xercesc::DOMElement *node, const std::string &kind, const char *key, const std::string &deflt, const std::string &expected)
 Check that observed declarations match the expectations.
template<class T, class U>
void ensure_semiring_type (const xercesc::DOMElement *node, const T &a, const U &param)
 Check semiring conformance of the automaton w.r.t.
template<class S, class T>
void ensure_semiring_type (const xercesc::DOMElement *node, const Element< Transducer< S >, T > &, const typename Element< Transducer< S >, T >::semiring_t::semiring_t &param)
template<class S, class T, class U>
void ensure_semiring_type (const xercesc::DOMElement *node, const Element< Transducer< S >, T > &, const typename Element< Transducer< S >, T >::semiring_t &param)
template<class U>
void ensure_monoid_type (const xercesc::DOMElement *node, const U &param)
 Check monoid conformance of the automaton w.r.t.
template<class S, class T, class U, class M1, class M2>
void ensure_monoid_type (const xercesc::DOMElement *node, const Element< Automata< vcsn::algebra::Series< S, vcsn::algebra::FreeMonoidProduct< M1, M2 > > >, T > &param)
template<class OStream>
void print_document (xercesc::DOMImplementationLS *impl, xercesc::DOMElement *node, OStream &os)
 Print XML tree to output stream.


Detailed Description

Some useful utility functions.

See also:
vcsn::xml::xml_converter, vcsn::xml::Node
Author:
Louis-Noel Pouchet <louis-noel.pouchet@lrde.epita.fr>

Definition in file xml/tools.hxx.


Generated on Wed Jun 13 17:02:23 2007 for Vaucanson by  doxygen 1.5.1