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;
203std::ostream & operator<<(std::ostream &ostr, const image::
NodeSLD & node){
204 return node.nodeToStream(ostr);
208std::ostream & operator<<(std::ostream &ostr,
const image::TreeSLD & tree){
229DRAIN_TYPENAME(image::NodeSLD);
230DRAIN_TYPENAME(image::SLD::tag_t);
234const NodeXML<image::SLD::tag_t>::xml_default_elem_map_t NodeXML<image::SLD::tag_t>::xml_default_elems;
254image::TreeSLD & image::TreeSLD::operator=(std::initializer_list<std::pair<const char *,const Variable> > l){
256 XML::xmlAssign(*
this, l);
264image::TreeSLD & image::TreeSLD::operator=(
const T & arg){
265 XML::xmlAssign(*
this, arg);
272image::TreeSLD & image::TreeSLD::operator=(
const std::string & arg){
273 XML::xmlAssignString(*
this, arg);
303image::TreeSLD & image::TreeSLD::operator()(
const image::SLD::tag_t & type){
304 return XML::xmlSetType(*
this, type);
309image::TreeSLD & image::TreeSLD::addChild(
const image::TreeSLD::key_t & key){
310 return XML::xmlAddChild(*
this, key);
321image::TreeSLD & image::TreeSLD::operator[](
const image::SLD::tag_t & type);
325const 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:654
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: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:131
Definition DataSelector.cpp:1277
A container for a static dictionary of enumeration values.
Definition EnumFlags.h:69