35#include "VariableMap.h"
56typedef std::map<std::string,std::string> amap_t;
65 typedef std::initializer_list<std::pair<const char *,const Variable> > init_t;
69 void setAttributes(
const init_t & args);
89 template<
typename ... TT>
102 template<
typename ... TT>
103 void setName(
const TT &... args){
104 std::stringstream sstr;
105 _setName(sstr, args...);
122 template<
typename T,
typename ... TT>
123 void _setName(std::stringstream & sstr,
const T & arg,
const TT &... args){
125 _setName(sstr, args...);
128 void _setName(std::stringstream & sstr){
133 void _setAttributes(std::stringstream & sstr){
138 template<
typename T,
typename ... TT>
139 void _setAttributes(std::stringstream & sstr,
const T & arg,
const TT &... args){
141 _setAttributes(sstr, args...);
153 template<
typename ... TT>
155 setAttributes({{
"shape",
"point"}});
159 setAttributes({{
"shape",
"point"}});
170 setAttributes({{
"style",
"invis"}});
177std::ostream & operator<<(std::ostream & ostr,
const DotNode & node);
186 DotHeader(
const init_t & args = {},
const init_t & nodeArgs = {}){
188 nodeStyle.setAttributes(nodeArgs);
192 void setNodeAttributes(
const init_t & args){
193 nodeStyle.setAttributes(args);
198 return nodeStyle.attributes;
208std::ostream & operator<<(std::ostream & ostr,
const DotHeader & header);
216 DotComment(
const std::string & s =
"") : comment(s){
220 const std::string & str()
const {
232std::ostream & operator<<(std::ostream & ostr,
const DotComment & comment);
250std::ostream & operator<<(std::ostream & ostr,
const DotLink & link);
257 DotRank(
const std::string & s =
"same") : rank(s){
261 const std::string & str()
const {
266 void add(
const DotNode & node){
267 nodes.push_back(&node);
270 std::list<const DotNode *> nodes;
281std::ostream & operator<<(std::ostream & ostr,
const DotRank & rank);
DOC: Add class description.
Definition DotGraph.h:149
DOC: Add class description.
Definition DotGraph.h:61
static const std::string fill
Definition DotGraph.h:76
DOC: Add class description.
Definition DotGraph.h:43
DOC: Add class description.
Definition DotGraph.h:236
DOC: Add class description.
Definition DotGraph.h:83
const std::string & getName() const
Returns the key of this entity.
Definition DotGraph.h:113
DOC: Add class description.
Definition DotGraph.h:165
DOC: Add class description.
Definition DotGraph.h:253
Definition Sprinter.h:605
A map of Variables.
Definition VariableMap.h:61
Definition Sprinter.h:136