39#ifndef DRAIN_CLASS_XML
40#define DRAIN_CLASS_XML
48#include "ReferenceMap.h"
49#include "TreeUnordered.h"
63 template <
typename ... TT>
70 template <
typename ... TT>
72 void add(
const std::string & arg,
const TT &... args) {
79 template <
typename ... TT>
81 void add(
const char *arg,
const TT &... args) {
82 add(std::string(arg), args...);
92 template <
typename E,
typename ...TT>
94 void add(
const E & arg,
const TT &... args) {
119 bool has(
const std::string & arg)
const {
120 return (find(arg) != end());
124 bool has(
const char *arg)
const {
125 return (find(arg) != end());
128 template <
typename E>
130 bool has(
const E & arg)
const {
136 void remove(
const std::string & arg) {
137 iterator it = find(arg);
156std::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:59
void add(const std::string &arg, const TT &... args)
Add one or several classes.
Definition ClassXML.h:72
void add(const E &arg, const TT &... args)
Add one or several classes.
Definition ClassXML.h:94
static const SprinterLayout layout
Uses spaces as separators.
Definition ClassXML.h:145
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:321
Definition DataSelector.cpp:1277
Wrapper for unique (static) dictionary of enum values.
Definition EnumFlags.h:66
Definition Sprinter.h:137