Go to the documentation of this file.
23 #define ARILES2_VISITOR_INCLUDED_graphviz
73 NodeOptions(
const std::string &
id,
const std::string &label,
const std::string &options)
89 graph_options_ =
"rankdir=\"LR\"\n";
93 compact_arrays_ =
true;
112 std::string getDefaultNodeId()
const;
113 std::string getDefaultNodeLabel()
const;
117 explicit Visitor(
const std::string &file_name);
118 explicit Visitor(std::ostream &output_stream);
123 void startRoot(
const std::string &name,
const Parameters &);
124 void endRoot(
const std::string &name);
126 void startMap(
const Parameters &,
const std::size_t num_entries);
127 void startMapEntry(
const std::string &map_name);
130 void startArray(
const std::size_t size,
const bool compact =
false);
131 void endArrayElement();
135 template <
class t_Ariles>
138 return (ariles_class.arilesGetParameters(*
this));
141 template <
class t_Entry>
144 startMap(parameters, parameters.
getArilesNodeOptions(getDefaultNodeId(), getDefaultNodeLabel()));
150 #define ARILES2_BASIC_TYPE(type) void writeElement(const type &element, const Parameters ¶m);
155 #undef ARILES2_BASIC_TYPE
164 #define ARILES2_NAMED_ENTRY_graphviz(v, entry, name) visitor.visitMapEntry(entry, #name, parameters);
165 #define ARILES2_PARENT_graphviz(v, entry)
166 #define ARILES2_VISIT_graphviz \
167 template <class t_Visitor> \
169 t_Visitor &visitor, \
170 const typename t_Visitor::Parameters ¶meters, \
171 ARILES2_IS_BASE_ENABLER(ariles2::graphviz::Visitor, t_Visitor)) const \
173 ARILES2_TRACE_FUNCTION; \
174 ARILES2_UNUSED_ARG(visitor); \
175 ARILES2_UNUSED_ARG(parameters); \
176 arilesVisitParents(visitor, parameters); \
177 ARILES2_ENTRIES(graphviz) \
180 #define ARILES2_METHODS_graphviz ARILES2_METHODS(graphviz, ARILES2_EMPTY_MACRO, const)
181 #define ARILES2_BASE_METHODS_graphviz ARILES2_BASE_METHODS(graphviz)
NodeOptions(const std::string &id, const std::string &label, const std::string &options)
std::string node_options_
#define ARILES2_BASIC_TYPES_LIST
const Parameters getParameters(const t_Ariles &ariles_class) const
Parameters(const bool override_parameters=false)
class ARILES2_VISIBILITY_ATTRIBUTE Visitor
ARILES2_MACRO_SUBSTITUTE(ARILES2_BASIC_NUMERIC_TYPES_LIST) void Writer
std::string graph_options_
ns_graphviz::Visitor Writer
#define ARILES2_COMPLEX_NUMBER_TYPES_LIST
virtual NodeOptions getArilesNodeOptions(const std::string &id, const std::string &label) const
virtual NodeOptions getDefaultNodeOptions(const std::string &id, const std::string &label) const
ns_graphviz::Parameters Parameters
#define ARILES2_VISIBILITY_ATTRIBUTE
ns_graphviz::Visitor Visitor
graphviz::Visitor Graphviz
NodeOptions(const std::string &id, const std::string &label)
void startMap(t_Entry &, const Parameters ¶meters)
NodeOptions(const std::string &id)