42#include "drain/util/FileInfo.h"
44#include "drain/util/TreeXML.h"
45#include "drain/util/UtilsXML.h"
53typedef UnorderedMultiTree<NodeSLD,false, drain::NodeXML<>::path_t> TreeSLD;
60 UNDEFINED=XML::UNDEFINED,
79 StyledLayerDescriptor,
96DRAIN_ENUM_OSTREAM(image::SLD::tag_t)
122 NodeSLD(SLD::tag_t t = SLD::UNDEFINED);
155 void setAttribute(
const std::string & key,
const std::string &value)
override;
159 void setAttribute(
const std::string & key,
const char *value)
override;
204std::ostream & operator<<(std::ostream &ostr, const image::
NodeSLD & node){
205 return node.nodeToStream(ostr);
209std::ostream & operator<<(std::ostream &ostr,
const image::TreeSLD & tree){
230DRAIN_TYPENAME(image::NodeSLD);
231DRAIN_TYPENAME(image::SLD::tag_t);
235const NodeXML<image::SLD::tag_t>::xml_default_elem_map_t NodeXML<image::SLD::tag_t>::xml_default_elems;
240void image::TreeSLD::initChild(image::TreeSLD & child)
const {
241 UtilsXML::initChildWithDefaultType(*
this, child);
268image::TreeSLD & image::TreeSLD::operator=(std::initializer_list<std::pair<const char *,const Variable> > l){
270 UtilsXML::assign(*
this, l);
278image::TreeSLD & image::TreeSLD::operator=(
const T & arg){
279 UtilsXML::assign(*
this, arg);
286image::TreeSLD & image::TreeSLD::operator=(
const std::string & arg){
287 UtilsXML::assignString(*
this, arg);
317image::TreeSLD & image::TreeSLD::operator()(
const image::SLD::tag_t & type){
318 return UtilsXML::setType(*
this, type);
337image::TreeSLD & image::TreeSLD::operator[](
const image::SLD::tag_t & type);
341const image::TreeSLD & image::TreeSLD::operator[](
const image::SLD::tag_t & type)
const ;
Two-way mapping between strings and objects of template class T.
Definition Dictionary.h:63
static std::ostream & docToStream(std::ostream &ostr, const V &tree)
Definition TreeXML.h:733
static N & xmlAssignNode(N &dst, const N &src)
Assign tree node (data) to another.
Definition XML.h:623
NodeSLD & operator=(const std::initializer_list< Variable::init_pair_t > &l)
Copy data from a node. (Does not copy subtree.)
Definition TreeSLD.h:139
virtual void setAttribute(const std::string &key, const std::string &value) override
Set attribute value, handling units in string arguments, like in "50%" or "640px".
Definition TreeSLD.cpp:145
virtual void handleType() override final
Write transform, in addition to XML::ClassList.
Definition TreeSLD.cpp:112
virtual bool isSingular() const override final
Tell if this element should always have an explicit closing tag even when empty, like <STYLE></STYLE>
Definition TreeSLD.cpp:107
NodeSLD & operator=(const NodeSLD &node)
Copy data from a node. (Does not copy subtree.)
Definition TreeSLD.h:132
Definition DataSelector.cpp:1277
A container for a static dictionary of enumeration values.
Definition EnumUtils.h:52