8 #ifndef TYPE_OUTPUT_HH_
9 #define TYPE_OUTPUT_HH_
14 #include <boost/regex.hpp>
44 virtual ostream&
print(ostream& stream);
120 void print(ostream& stream,
const TypeBase *type,
unsigned int depth);
126 virtual void print_impl(ostream& stream,
const Record *type,
unsigned int depth) = 0;
130 virtual void print_impl(ostream& stream,
const Array *type,
unsigned int depth) = 0;
146 virtual void print_impl(ostream& stream,
const Integer *type,
unsigned int depth) = 0;
150 virtual void print_impl(ostream& stream,
const Double *type,
unsigned int depth) = 0;
154 virtual void print_impl(ostream& stream,
const Bool *type,
unsigned int depth) = 0;
158 virtual void print_impl(ostream& stream,
const String *type,
unsigned int depth) = 0;
162 virtual void print_impl(ostream& stream,
const FileName *type,
unsigned int depth) = 0;
172 void write_description(std::ostream& stream,
const string& str,
unsigned int padding,
unsigned int hash_count = 1);
233 unsigned int type_index(
const void * type_data)
const;
244 bool was_written(
const void * type_data,
string full_name);
252 void mark_written(
const void *type_data,
string full_name,
string reference =
"");
314 void print_impl(ostream& stream,
const Array *type,
unsigned int depth);
320 void print_impl(ostream& stream,
const Bool *type,
unsigned int depth);
354 ostream&
print(ostream& stream);
364 void print_impl(ostream& stream,
const Array *type,
unsigned int depth);
370 void print_impl(ostream& stream,
const Bool *type,
unsigned int depth);
385 void print_default_value(ostream& stream,
unsigned int depth,
string empty_val,
bool invalid_val,
bool has_quote =
false);
407 ostream &
print(ostream& stream);
417 void print_impl(ostream& stream,
const Array *type,
unsigned int depth);
423 void print_impl(ostream& stream,
const Bool *type,
unsigned int depth);
456 void print_impl(ostream& stream,
const Array *type,
unsigned int depth);
462 void print_impl(ostream& stream,
const Bool *type,
unsigned int depth);
475 std::ostream&
operator<<(std::ostream& stream, OutputText type_output);
476 std::ostream&
operator<<(std::ostream& stream, OutputJSONTemplate type_output);
477 std::ostream&
operator<<(std::ostream& stream, OutputLatex type_output);
478 std::ostream&
operator<<(std::ostream& stream, OutputJSONMachine type_output);
void print_impl(ostream &stream, const Record *type, unsigned int depth)
OutputText(const TypeBase *type, unsigned int depth=0)
Class for create text documentation.