10 # include <vcl_msvc_warnings.h> 20 typedef std::map<void*, indent_data_type, std::less<void*> > maps2i_type;
24 static maps2i_type indent_data_map;
26 auto entry = indent_data_map.find(&os);
27 if (entry==indent_data_map.end())
31 entry = indent_data_map.find(&os);
34 return &((*entry).second);
71 int n = data->first * data->second;
72 for (
int i=0;i<n;i++) os<<
' ';
indent_data_type * indent_data(std::ostream &os)
void vsl_indent_set_tab(std::ostream &os, int t)
Set number of spaces per increment step.
void vsl_indent_clear_all_data()
Tidy up the internal indent map to remove potential memory leaks.
int vsl_indent_tab(std::ostream &os)
Number of spaces per increment step.
constexpr int default_tab
void vsl_indent_inc(std::ostream &os)
Increments current indent for given stream.
Put indents into output streams, to produce more legible printed output.
void vsl_indent_dec(std::ostream &os)
Decrements current indent for given stream.
std::ostream & operator<<(std::ostream &os, const vsl_indent &)
Outputs current indent to os.
void vsl_indent_clear(std::ostream &os)
Set indentation to zero.
std::pair< int, int > indent_data_type