Public Types | Public Member Functions | Protected Attributes | List of all members
NodeSLD Class Reference
Inheritance diagram for NodeSLD:
Inheritance graph
[legend]
Collaboration diagram for NodeSLD:
Collaboration graph
[legend]

Public Types

enum  type { UNDEFINED , ColorMap , ColorMaPalEntry }
 
typedef drain::Dictionary< int, std::string > tag_dict_t
 
- Public Types inherited from NodeXML< T >
typedef T elem_t
 Tag type, CTEXT or COMMENT.
 
typedef NodeXML< T > xml_node_t
 
typedef UnorderedMultiTree< NodeXML< T >, false, path_txml_tree_t
 
typedef std::map< T, std::string > tag_map_t
 
typedef T xml_tag_t
 
typedef NodeXML< T > xml_node_t
 
typedef drain::Path< std::string,'/'> path_t
 
typedef UnorderedMultiTree< xml_node_t, false, path_txml_tree_t
 
typedef std::map< xml_tag_t, xml_tag_t > xml_default_elem_map_t
 
- Public Types inherited from XML
typedef ReferenceMap2< FlexibleVariablemap_t
 
typedef drain::Path< std::string,'/'> path_t
 Tree path type.
 
typedef path_t::elem_t path_elem_t
 
typedef std::list< path_tpath_list_t
 
typedef int intval_t
 
typedef ReferenceMap2< FlexibleVariablemap_t
 

Public Member Functions

 NodeSLD (type t=UNDEFINED)
 
void setType (type t)
 
- Public Member Functions inherited from NodeXML< T >
 NodeXML (const elem_t &t=elem_t(0))
 
 NodeXML (const NodeXML &node)
 
virtual void setType (const elem_t &t)
 
const elem_tgetType () const
 
bool typeIs (const elem_t &t) const
 
bool isComment () const
 
bool isCText () const
 
bool isUndefined () const
 
bool isSelfClosing () const
 
const std::string & getTag () const
 
void set (const NodeXML &node)
 
void set (const elem_t &type)
 
void set (const std::string &s)
 
void set (const char *s)
 
void set (const drain::Castable &s)
 
void set (const std::initializer_list< Variable::init_pair_t > &l)
 
template<class X >
void set (const std::map< std::string, X > &args)
 
template<class V >
void set (const std::string &key, const V &value)
 
NodeXMLoperator= (const T &x)
 
NodeXMLoperator= (const Castable &c)
 
NodeXMLoperator= (const std::string &s)
 
NodeXMLoperator= (const char *s)
 
NodeXMLoperator= (const std::initializer_list< std::pair< const char *, const drain::Variable > > &l)
 
NodeXMLsetComment (const std::string &text="")
 Make this node a comment. Contained tree will not be delete. In current version, attributes will be rendered. More...
 
template<class S >
NodeXMLsetText (const S &value)
 Assign the text content of this node. If the node type is undefined, set it to CTEXT. More...
 
NodeXMLsetText (const char *value)
 
template<class S >
void setStyle (const S &value)
 
void setStyle (const std::string &value)
 
void setStyle (const char *value)
 
void setStyle (const std::string &key, const std::string &value)
 
template<class V >
void setStyle (const std::string &key, const std::initializer_list< V > &l)
 Set style of an element. More...
 
template<class V >
void setStyle (const std::string &key, const V &value)
 For element/class/id, assign ...
 
void setStyle (const std::initializer_list< std::pair< const char *, const drain::Variable > > &l)
 
 NodeXML (const intval_t &t=intval_t(0))
 
 NodeXML (const NodeXML &node)
 
template<class T2 >
void setType (const T2 &t)
 
const intval_t & getType () const
 
getNativeType () const
 
template<class T2 , class ... T3>
bool typeIs (const T2 &arg, const T3... args) const
 Return true, if type is any of the arguments.
 
bool isUndefined () const
 
bool isComment () const
 
bool isCText () const
 
bool isStyle () const
 
bool isSelfClosing () const
 
virtual const std::string & getTag () const
 
void set (const NodeXML &node)
 
void set (const intval_t &type)
 
void set (const std::string &s)
 
void set (const char *s)
 
void set (const drain::Castable &s)
 
void set (const std::initializer_list< std::pair< const char *, const Variable > > &args)
 
template<class V >
void set (const std::map< std::string, V > &args)
 
template<class V >
void set (const std::string &key, const V &value)
 
NodeXMLoperator= (const NodeXML &node)
 
NodeXMLoperator= (const xml_tag_t &x)
 
NodeXMLoperator= (const Castable &c)
 
NodeXMLoperator= (const std::string &s)
 
NodeXMLoperator= (const char *s)
 
NodeXMLoperator= (const std::initializer_list< std::pair< const char *, const drain::Variable > > &l)
 
std::ostream & nodeToStream (std::ostream &ostr) const
 Note: Not designed for XML output, this is more for debugging (in tree dumps),. More...
 
std::map< int, std::string > tags
 
template<class T >
std::ostream & toStream (std::ostream &ostr, const T &tree, const std::string &defaultTag, int indent)
 XML output function shared for all XML documents, ie versions defined in subclasses. More...
 
const NodeXML< drain::image::svg::tag_t >::xml_default_elem_map_t xml_default_elems
 
const NodeXML< image::svg::tag_t >::xml_default_elem_map_t xml_default_elems
 
const NodeXML< BaseHTML::tag_t >::xml_default_elem_map_t xml_default_elems
 
bool isSelfClosing () const
 
bool isSelfClosing () const
 
const NodeXML< BaseHTML::tag_t >::xml_default_elem_map_t xml_default_elems
 
const NodeXML< int >::xml_default_elem_map_t xml_default_elems
 
const std::string & getTag () const
 
template<class TR >
std::ostream & toStream (std::ostream &ostr, const TR &tree, const std::string &defaultTag, int indent)
 XML output function shared for all XML documents, ie versions defined in subclasses. More...
 
- Public Member Functions inherited from XML
void setId ()
 Makes ID a visible attribute. More...
 
void setId (const std::string &s)
 Makes ID a visible attribute, with a given value.
 
template<char C = '\0', typename ... TT>
void setId (const TT &...args)
 
const std::string & getId () const
 Returns ID of this element. Hopefully a unique ID...
 
bool empty () const
 
const map_tgetAttributes () const
 
map_tgetAttributes ()
 
virtual void setAttribute (const std::string &key, const std::string &value)
 Default implementation. Needed for handling units in strings, like "50%" or "640px".
 
virtual void setAttribute (const std::string &key, const char *value)
 Default implementation. Needed for handling units in strings, like "50%" or "640px".
 
template<class V >
void setAttribute (const std::string &key, const V &value)
 "Final" implementation.
 
void remove (const std::string &s)
 
const drain::FlexibleVariableget (const std::string &key) const
 
drain::FlexibleVariableget (const std::string &key)
 
template<class V >
get (const std::string &key, const V &defaultValue) const
 
std::string get (const std::string &key, const char *defaultValue) const
 
template<typename ... TT>
void addClass (const TT &... args)
 Style class.
 
template<class V >
bool hasClass (const V &cls) const
 
void removeClass (const std::string &s)
 
void clearClasses ()
 
virtual void clear ()
 Clear style, class and string data but keep the element type. More...
 
void reset ()
 Clear style, class and string data as well as the element type. More...
 
void setId ()
 Makes ID a visible attribute. More...
 
void setId (const std::string &s)
 Makes ID a visible attribute, with a given value.
 
template<char C = '\0', typename ... TT>
void setId (const TT &...args)
 Concatenates arguments to an id.
 
const std::string & getId () const
 Returns ID of this element. Hopefully a unique ID...
 
template<class ... T>
void setComment (const T &...args)
 Make this node a comment. Contained tree will not be deleted. In current version, attributes WILL be rendered. More...
 
void setText (const std::string &s)
 Assign the text content of this node. If the node type is undefined, set it to CTEXT. More...
 
template<class ... T>
void setText (const T &...args)
 
void setUrl (const std::string &s)
 
template<class ... T>
void setName (const T &...args)
 
virtual bool empty () const
 
const map_tgetAttributes () const
 
map_tgetAttributes ()
 
const drain::FlexibleVariableget (const std::string &key) const
 
drain::FlexibleVariableget (const std::string &key)
 
template<class V >
get (const std::string &key, const V &defaultValue) const
 
std::string get (const std::string &key, const char *defaultValue) const
 
virtual void setAttribute (const std::string &key, const std::string &value)
 Default implementation. Needed for handling units in strings, like "50%" or "640px".
 
virtual void setAttribute (const std::string &key, const char *value)
 Default implementation. Needed for handling units in strings, like "50%" or "640px".
 
template<class V >
void setAttribute (const std::string &key, const V &value)
 "Final" implementation.
 
void removeAttribute (const std::string &s)
 
const StyleXMLgetStyle () const
 
void setStyle (const StyleXML &s)
 
void setStyle (const std::string &value)
 
void setStyle (const char *value)
 
void setStyle (const std::string &key, const std::string &value)
 
template<class V >
void setStyle (const std::string &key, const std::initializer_list< V > &l)
 Set style of an element. More...
 
template<class V >
void setStyle (const std::string &key, const V &value)
 For element/class/id, assign ...
 
void setStyle (const std::initializer_list< std::pair< const char *, const drain::Variable > > &args)
 
const ClassListXMLgetClasses () const
 
template<typename ... TT>
void addClass (const TT &... args)
 
template<class V >
bool hasClass (const V &cls) const
 
void removeClass (const std::string &s)
 
void clearClasses ()
 
virtual void specificAttributesToStream (std::ostream &ostr) const
 
template<class T >
bool findById (const T &t, const std::string &id, typename T::path_t &result, const typename T::path_t &path)
 
template<class T >
bool findById (const T &t, const std::string &id, NodeXML<>::path_list_t &result, const path_t &path)
 
template<class T , class N >
bool findByTag (const T &t, const N &tag, NodeXML<>::path_list_t &result, const path_t &path)
 
template<class T , class N >
bool findByTags (const T &t, const std::set< N > &tags, NodeXML<>::path_list_t &result, const path_t &path)
 
template<class T2 , class C >
bool findByClass (const T2 &t, const C &cls, XML::path_list_t &result, const path_t &path)
 

Protected Attributes

drain::image::PaletteEntry entry
 
- Protected Attributes inherited from SmartMap< FlexibleVariable >
std::list< std::string > keyList
 Assigns values from std::string of type "value,value2,...valueN". More...
 
char separator
 Default character used for splitting input and output. See setValues.
 
char arraySeparator
 Default separator character for array elements (std::vector's)
 

Additional Inherited Members

- Static Public Member Functions inherited from NodeXML< T >
static const std::string & getTag (unsigned int index)
 
template<class V >
static std::ostream & docToStream (std::ostream &ostr, const V &tree)
 
template<class V >
static std::ostream & toStream (std::ostream &ostr, const V &t, const std::string &defaultTag="", int indent=0)
 "Forward definition" of Tree::toOstream
 
static std::ostream & docTypeToStream (std::ostream &ostr)
 Write the XML definition beginning any XML document. More...
 
template<int E>
static const std::pair< key_t, NodeXML< T > > & entry ()
 
static const std::string & getTag (const T &type)
 
template<class V >
static std::ostream & docToStream (std::ostream &ostr, const V &tree)
 
template<class V >
static std::ostream & toStream (std::ostream &ostr, const V &t, const std::string &defaultTag="", int indent=0)
 "Forward definition" of Tree::toOstream
 
static std::ostream & docTypeToStream (std::ostream &ostr)
 Write the XML definition beginning any XML document. More...
 
- Static Public Member Functions inherited from XML
template<class V >
static void attribToStream (std::ostream &ostr, const std::string &key, const V &value)
 
static int getCount ()
 
template<class V >
static bool findById (const V &tree, const std::string &tag, typename V::path_t &result, const typename V::path_t &path=path_t())
 Find the first occurrence of given id using recursive breath-first search. More...
 
template<class V >
static bool findById (const V &tree, const std::string &tag, path_list_t &result, const path_t &path=path_t())
 Find the occurrence(s) of given ID using recursive breath-first search. More...
 
template<class V , class T >
static bool findByTag (const V &tree, const T &tag, path_list_t &result, const path_t &path=path_t())
 
template<class V , class T >
static bool findByTags (const V &tree, const std::set< T > &tags, path_list_t &result, const path_t &path=path_t())
 "Forward definition" More...
 
template<class T2 , class C >
static bool findByClass (const T2 &t, const C &cls, std::list< path_elem_t > &result)
 Finds child elements in an XML structure by class name. More...
 
template<class V , class C >
static bool findByClass (const V &t, const C &cls, path_list_t &result, const path_t &path=path_t())
 Finds elements recursively in an XML structure by class name supplied as an enumeration type. More...
 
static int getCount ()
 
template<class V >
static void xmlAttribToStream (std::ostream &ostr, const std::string &key, const V &value)
 
template<typename TX >
static TX & xmlAssign (TX &dst, const TX &src)
 Assign another tree structure to another. More...
 
template<typename TX >
static TX & xmlAssign (TX &dst, const typename TX::xml_node_t &src)
 Assign another tree structure to another. More...
 
template<typename X >
static X & xmlAssignNode (X &dst, const X &src)
 Assign another tree structure to another. More...
 
template<typename TX , typename V >
static TX & xmlAssign (TX &tree, const V &arg)
 Assign another tree structure to another. More...
 
template<typename TX >
static TX & xmlAssign (TX &tree, std::initializer_list< std::pair< const char *, const Variable > > l)
 Tree. More...
 
template<typename TX >
static TX & xmlSetType (TX &tree, const typename TX::node_data_t::xml_tag_t &type)
 
template<typename T >
static T & xmlAddChild (T &tree, const std::string &key)
 
template<typename N >
static N::xml_tag_t xmlRetrieveDefaultType (const N &parentNode)
 
- Public Attributes inherited from NodeXML< T >
elem_t type
 
- Public Attributes inherited from XML
std::string id
 Some general-purpose. More...
 
std::string ctext
 
std::string url
 
ClassListXML classList
 
StyleXML style
 
intval_t type = XML::UNDEFINED
 
- Static Public Attributes inherited from NodeXML< T >
static tag_map_t tags
 
static const xml_default_elem_map_t xml_default_elems
 
- Static Public Attributes inherited from XML
static const int UNDEFINED = 0
 
static const int COMMENT = 1
 
static const int CTEXT = 2
 
static const int STYLE = 3
 
static const int SCRIPT = 4
 
static int nextID = 0
 
static const intval_t UNDEFINED = 0
 
static const intval_t COMMENT = 1
 
static const intval_t CTEXT = 2
 
static const intval_t SCRIPT = 3
 
static const intval_t STYLE = 4
 
static const intval_t STYLE_SELECT = 5
 
- Protected Types inherited from NodeXML< T >
typedef std::map< std::string, std::string > xmldoc_attrib_map_t
 
typedef std::map< std::string, std::string > xmldoc_attrib_map_t
 NOTE: these could/should be templated, in TreeXML<...> right?
 
- Protected Types inherited from ReferenceMap2< FlexibleVariable >
enum  extLinkPolicy
 
typedef FlexibleVariable ref_t
 
typedef SmartMap< FlexibleVariablemap_t
 
- Protected Types inherited from SmartMap< FlexibleVariable >
typedef SmartMap< FlexibleVariablesmap_t
 
typedef std::map< std::string, FlexibleVariablemap_t
 
typedef map_t::key_type key_t
 
typedef map_t::mapped_type value_t
 
typedef map_t::value_type entry_t
 
typedef std::list< std::string > keylist_t
 
typedef map_t::iterator iterator
 Needed?
 
typedef map_t::const_iterator const_iterator
 
- Protected Member Functions inherited from NodeXML< T >
bool typeIs () const
 
virtual void handleType (const T &type)
 Internal function called after setType()
 
NodeXML< int >::xmldoc_attrib_map_t xmldoc_attribs
 
NodeXML< int >::xmldoc_attrib_map_t xmldoc_attribs
 
- Protected Member Functions inherited from ReferenceMap2< FlexibleVariable >
ref_tlink (const std::string &key, F &x)
 Associates a map entry with a variable. More...
 
ref_tlink (const std::string &key, void *ptr, const std::type_info &type, size_t count=1)
 Create a reference to a basic type or std::string. (Also for basetype arrays.)
 
void unlink (const std::string &key)
 
void copyStruct (const ReferenceMap2< FlexibleVariable > &m, const T2 &src, T2 &dst, extLinkPolicy policy=RESERVE)
 Experimental. Copies references and values of a structure to another. More...
 
- Protected Member Functions inherited from SmartMap< FlexibleVariable >
 SmartMap (char separator='\0', char arraySeparator=':')
 
 SmartMap (const SmartMap &smap)
 
bool hasKey (const std::string &key) const
 
std::string get (const std::string &key, const std::string &defaultValue) const
 Retrieves a value, or default value if value is unset. More...
 
std::string get (const std::string &key, const char *defaultValue) const
 
T2 get (const std::string &key, const T2 &defaultValue) const
 Retrieves a value, if set, else returns the given default value. More...
 
virtual FlexibleVariableoperator[] (const std::string &key)
 Returns an element. Creates one, conditionally. More...
 
virtual const FlexibleVariableoperator[] (const std::string &key) const
 Unlike with std::map, operator[] const is defined, returning reference to a static empty instance.
 
virtual const keylist_t & getKeyList () const
 Derived versions may produce an ordered set of keys.
 
const map_t & getMap () const
 
void exportMap (std::map< std::string, T2 > &m) const
 Copies the contents to another map.
 
void importEntries (const std::string &entries, char assignmentSymbol='=', char separatorSymbol=0)
 Assigns a value to given key; if the entry does not exist, tries to create it with directly with operator[]. More...
 
void importEntries (const std::list< std::string > &entries, char assignmentSymbol='=')
 
void importMap (const std::map< std::string, S > &m)
 Assign values from a map, overriding existing entries. More...
 
void importCastableMap (const drain::SmartMap< T2 > &m)
 Assign values from a map, possibly extending the map. More...
 
void updateFromMap (const std::map< std::string, T2 > &m)
 Assign values from a map. Updates existing entries only. More...
 
void updateFromCastableMap (const drain::SmartMap< T2 > &m)
 Convenience.
 
void setValues (const std::string &entries, char assignmentSymbol='=', char separatorSymbol=0)
 Sets values. If strictness==STRICTLY_CLOSED, throws exception if tries to assign a non-existing entry.
 
void setValues (const char *entries, char assignmentSymbol='=', char separatorSymbol=0)
 
void setValuesSEQ (const S &sequence)
 
void updateValues (const std::string &entries, char assignmentSymbol='=', char separatorSymbol=0)
 Sets applicable values ie. modifies existing entries only. In ordered maps, skips extra entries silently.
 
void getKeys (std::ostream &ostr) const
 
std::string getKeys () const
 Convenience function for std::string output.
 
void getValues (std::ostream &ostr) const
 Dumps the values.
 
std::string getValues () const
 Convenience function for std::string output.
 
std::ostream & toStream (std::ostream &ostr, char equal='=', char startChar='{', char endChar='}', char separatorChar=',') const
 Note: parameters discarded.
 
std::string toStr (char equal='=', char start=0, char end=0, char separator=0) const
 
void dump (std::ostream &ostr=std::cout) const
 Write map as a JSON code. More...
 
- Static Protected Attributes inherited from NodeXML< T >
static xmldoc_attrib_map_t xmldoc_attribs
 

The documentation for this class was generated from the following file: