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);
227 unsigned int type_index(
const void * type_data)
const;
241 bool was_written(
const void * type_data,
string full_name);
249 void mark_written(
const void *type_data,
string full_name,
string reference =
"");
297 void print_impl(ostream& stream,
const Array *type,
unsigned int depth);
303 void print_impl(ostream& stream,
const Bool *type,
unsigned int depth);
337 ostream&
print(ostream& stream);
347 void print_impl(ostream& stream,
const Array *type,
unsigned int depth);
353 void print_impl(ostream& stream,
const Bool *type,
unsigned int depth);
370 void print_default_value(ostream& stream,
unsigned int depth,
string empty_val,
bool invalid_val,
bool has_quote =
false);
392 ostream &
print(ostream& stream);
402 void print_impl(ostream& stream,
const Array *type,
unsigned int depth);
408 void print_impl(ostream& stream,
const Bool *type,
unsigned int depth);
439 void print_impl(ostream& stream,
const Array *type,
unsigned int depth);
445 void print_impl(ostream& stream,
const Bool *type,
unsigned int depth);
460 std::ostream&
operator<<(std::ostream& stream, OutputText type_output);
461 std::ostream&
operator<<(std::ostream& stream, OutputJSONTemplate type_output);
462 std::ostream&
operator<<(std::ostream& stream, OutputLatex type_output);
463 std::ostream&
operator<<(std::ostream& stream, OutputJSONMachine type_output);