41#include "drain/util/EnumFlags.h"
42#include "drain/util/FileInfo.h"
43#include "drain/util/Frame.h"
44#include "drain/util/TreeXML.h"
52typedef UnorderedMultiTree<NodeSLD,false, drain::NodeXML<>::path_t> TreeSLD;
59 UNDEFINED=XML::UNDEFINED,
78 StyledLayerDescriptor,
95DRAIN_ENUM_OSTREAM(image::SLD::tag_t)
121 NodeSLD(SLD::tag_t t = SLD::UNDEFINED);
154 void setAttribute(
const std::string & key,
const std::string &value)
override;
158 void setAttribute(
const std::string & key,
const char *value)
override;
199std::ostream & operator<<(std::ostream &ostr, const image::
NodeSLD & node){
200 return node.nodeToStream(ostr);
204std::ostream & operator<<(std::ostream &ostr,
const image::TreeSLD & tree){
225DRAIN_TYPENAME(image::NodeSLD);
226DRAIN_TYPENAME(image::SLD::tag_t);
230const NodeXML<image::SLD::tag_t>::xml_default_elem_map_t NodeXML<image::SLD::tag_t>::xml_default_elems;
250image::TreeSLD & image::TreeSLD::operator=(std::initializer_list<std::pair<const char *,const Variable> > l){
252 XML::xmlAssign(*
this, l);
260image::TreeSLD & image::TreeSLD::operator=(
const T & arg){
261 XML::xmlAssign(*
this, arg);
268image::TreeSLD & image::TreeSLD::operator=(
const std::string & arg){
269 XML::xmlAssignString(*
this, arg);
299image::TreeSLD & image::TreeSLD::operator()(
const image::SLD::tag_t & type){
300 return XML::xmlSetType(*
this, type);
305image::TreeSLD & image::TreeSLD::addChild(
const image::TreeSLD::key_t & key){
306 return XML::xmlAddChild(*
this, key);
317image::TreeSLD & image::TreeSLD::operator[](
const image::SLD::tag_t & type);
321const 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 X & xmlAssignNode(X &dst, const X &src)
Assign another tree structure to another.
Definition XML.h:554
NodeSLD & operator=(const std::initializer_list< Variable::init_pair_t > &l)
Copy data from a node. (Does not copy subtree.)
Definition TreeSLD.h:138
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:154
virtual void handleType(const SLD::tag_t &t) override final
Write transform, in addition to XML::ClassList.
Definition TreeSLD.cpp:121
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:112
NodeSLD & operator=(const NodeSLD &node)
Copy data from a node. (Does not copy subtree.)
Definition TreeSLD.h:131
Definition DataSelector.cpp:1277
Wrapper for unique (static) dictionary of enum values.
Definition EnumFlags.h:66