38#ifndef DRAIN_STYLE_XML
39#define DRAIN_STYLE_XML
43#include <drain/Sprinter.h>
45#include "ReferenceMap.h"
57class StyleXML :
public std::map<std::string,Variable> {
64 static const SprinterLayout styleLineLayout;
65 static const SprinterLayout styleRecordLayout;
66 static const SprinterLayout styleRecordLayoutActual;
69 template <
class ...TT>
73 argsToStream(ostr, args...);
78 const std::string TEXT_ANCHOR;
82 T get(
const key_type & key,
const T & defaultValue = T())
const {
83 const const_iterator it = this->find(key);
84 if (it != this->end()){
93 std::string get(
const key_type & key,
const char * defaultValue)
const {
94 return get(key, std::string(defaultValue));
101 template <
class T,
class ...TT>
103 void argsToStream(std::ostream & ostr,
const T & arg,
const TT... args){
105 argsToStream(ostr, args...);
109 void argsToStream(std::ostream & ostr){
116std::ostream & operator<<(std::ostream &ostr,
const StyleXML & style){
static std::ostream & toStream(std::ostream &ostr, const std::initializer_list< T > &x, const SprinterLayout &layout=defaultLayout)
New (experimental)
Definition Sprinter.h:423
static const SprinterLayout xmlAttributeLayout
Like attributes in XML (HTML, SVG, ...) tags.
Definition Sprinter.h:230
static void commentToStream(std::ostream &ostr, const TT... args)
Practical utility, helps in adding C++ code commenting...
Definition StyleXML.h:71
Definition DataSelector.cpp:1277