39#ifndef DRAIN_CLASS_XML
40#define DRAIN_CLASS_XML
42#include <drain/Enum.h>
48#include "ReferenceMap.h"
49#include "TreeUnordered.h"
90 const std::string & strPrefixed()
const {
100 std::string prefixed;
114 template <
typename ... TT>
121 template <
typename ... TT>
123 void add(
const std::string & arg,
const TT &... args) {
131 template <
typename ... TT>
133 void add(
const char *arg,
const TT &... args) {
134 add(std::string(arg), args...);
138 template <
typename ... TT>
154 template <
typename E,
typename ...TT>
156 void add(
const E & arg,
const TT &... args) {
181 bool has(
const std::string & arg)
const {
182 return (find(arg) != end());
186 bool has(
const char *arg)
const {
187 return (find(arg) != end());
190 template <
typename E>
192 bool has(
const E & arg)
const {
198 void remove(
const std::string & arg) {
199 iterator it = find(arg);
218std::ostream & operator<<(std::ostream &ostr,
const ClassListXML & cls){
Container for style classes. Essentially a set of strings, with space-separated output support.
Definition ClassXML.h:110
void add(const std::string &arg, const TT &... args)
Add one or several classes.
Definition ClassXML.h:123
void add(const char *arg, const TT &... args)
Add one or several classes.
Definition ClassXML.h:133
void add(const E &arg, const TT &... args)
Add one or several classes.
Definition ClassXML.h:156
static const SprinterLayout layout
Uses spaces as separators.
Definition ClassXML.h:207
void add(const ClassXML &arg, const TT &... args)
Add one or several classes.
Definition ClassXML.h:140
A wrapper marking string an CSS effect.
Definition ClassXML.h:57
static std::ostream & sequenceToStream(std::ostream &ostr, const T &x, const SprinterLayout &layout)
Convenience: if sequence type (array, list, set, map) not given, assume array.
Definition Sprinter.h:325
Definition DataSelector.cpp:1277
A container for a static dictionary of enumeration values.
Definition Enum.h:51
Definition Sprinter.h:137