From 3465bfa688f18e82cc126339e9947a90cefef4c4 Mon Sep 17 00:00:00 2001 From: nojhan Date: Mon, 23 Jan 2023 22:31:42 +0100 Subject: [PATCH] bump to v0.14 --- CMakeLists.txt | 2 +- README.md | 2 + docs/classclutchlog-members.html | 101 +- docs/classclutchlog.html | 22 +- docs/classclutchlog.js | 1 + docs/clutchlog_8h.html | 3 +- docs/clutchlog_8h__dep__incl.map | 13 +- docs/clutchlog_8h__dep__incl.md5 | 2 +- docs/clutchlog_8h__dep__incl.svg | 89 +- docs/clutchlog_8h__dep__incl_org.svg | 91 +- docs/clutchlog_8h_source.html | 1412 +++++++++-------- docs/dir_000001_000000.html | 2 +- .../dir_59425e443f801f1f2fd8bbe4959a3ccf.html | 3 +- ...r_59425e443f801f1f2fd8bbe4959a3ccf_dep.map | 2 +- ...r_59425e443f801f1f2fd8bbe4959a3ccf_dep.md5 | 2 +- ...r_59425e443f801f1f2fd8bbe4959a3ccf_dep.svg | 4 +- docs/files.html | 11 +- docs/files_dup.js | 1 + docs/functions.html | 3 + docs/functions_vars.html | 3 + docs/group___main.js | 1 + docs/index.html | 5 +- docs/navtreedata.js | 2 +- docs/navtreeindex0.js | 58 +- docs/navtreeindex1.js | 12 +- docs/search/all_0.js | 11 +- docs/search/all_1.js | 2 +- docs/search/all_10.js | 2 +- docs/search/all_2.js | 12 +- docs/search/all_3.js | 48 +- docs/search/all_4.js | 20 +- docs/search/all_5.js | 24 +- docs/search/all_6.js | 2 +- docs/search/all_7.js | 2 +- docs/search/all_8.js | 6 +- docs/search/all_9.js | 16 +- docs/search/all_a.js | 6 +- docs/search/all_b.js | 6 +- docs/search/all_c.js | 2 +- docs/search/all_d.js | 4 +- docs/search/all_e.js | 8 +- docs/search/all_f.js | 8 +- docs/search/classes_0.js | 4 +- docs/search/classes_1.js | 8 +- docs/search/classes_2.js | 6 +- docs/search/classes_3.js | 2 +- docs/search/defines_0.js | 6 +- docs/search/defines_1.js | 2 +- docs/search/enums_0.js | 2 +- docs/search/enums_1.js | 2 +- docs/search/enums_2.js | 2 +- docs/search/enums_3.js | 2 +- docs/search/enums_4.js | 2 +- docs/search/enums_5.js | 2 +- docs/search/enumvalues_0.js | 6 +- docs/search/files_0.js | 2 +- docs/search/functions_0.js | 4 +- docs/search/functions_1.js | 6 +- docs/search/functions_2.js | 2 +- docs/search/functions_3.js | 14 +- docs/search/functions_4.js | 2 +- docs/search/functions_5.js | 14 +- docs/search/functions_6.js | 4 +- docs/search/functions_7.js | 2 +- docs/search/functions_8.js | 2 +- docs/search/functions_9.js | 6 +- docs/search/functions_a.js | 2 +- docs/search/groups_0.js | 2 +- docs/search/groups_1.js | 2 +- docs/search/groups_2.js | 2 +- docs/search/groups_3.js | 2 +- docs/search/groups_4.js | 2 +- docs/search/groups_5.js | 2 +- docs/search/pages_0.js | 2 +- docs/search/related_0.js | 2 +- docs/search/variables_0.js | 23 +- docs/search/variables_1.js | 6 +- docs/search/variables_2.js | 16 +- docs/search/variables_3.js | 6 +- docs/search/variables_4.js | 2 +- docs/search/variables_5.js | 4 +- docs/search/variables_6.js | 2 +- docs/search/variables_7.js | 4 +- docs/search/variables_8.js | 4 +- docs/structclutchlog_1_1scope__t.html | 2 +- docs/t-demo-extravagant_8cpp_source.html | 214 +++ tests/t-demo-extravagant.cpp | 104 ++ 87 files changed, 1462 insertions(+), 1073 deletions(-) create mode 100644 docs/t-demo-extravagant_8cpp_source.html create mode 100644 tests/t-demo-extravagant.cpp diff --git a/CMakeLists.txt b/CMakeLists.txt index 1415c98..97d9fd7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -6,7 +6,7 @@ cmake_minimum_required(VERSION 3.10 FATAL_ERROR) project("clutchlog" - VERSION 0.13 + VERSION 0.14 DESCRIPTION "A logging system which targets versatile debugging") enable_language(CXX) # C++ diff --git a/README.md b/README.md index e8d501c..4c3a0bc 100644 --- a/README.md +++ b/README.md @@ -57,9 +57,11 @@ To configure the display, you indicate the three types of locations, for example ``` Example of a real-life log session (as seen in the [frictionlesser](https://github.com/jdreo/frictionlesser) software): + ![A log screen capture with full details, showing colored messages and location.](https://github.com/nojhan/clutchlog/blob/main/demo.jpg?raw=true) Demo showing fancy styling: + ![A log screen capture showing fancy coloring of text lines.](https://github.com/nojhan/clutchlog/blob/main/demo.jpg?raw=true) For more detailled examples, see the "Usage" sections below and the `tests` directory. diff --git a/docs/classclutchlog-members.html b/docs/classclutchlog-members.html index f400b16..b3230cf 100644 --- a/docs/classclutchlog-members.html +++ b/docs/classclutchlog-members.html @@ -97,56 +97,57 @@ $(document).ready(function(){initNavTree('classclutchlog.html',''); initResizabl _in_funcclutchlogprotected _in_lineclutchlogprotected _level_fmtclutchlogprotected - _level_wordclutchlogprotected - _outclutchlogprotected - _stageclutchlogprotected - _strip_callsclutchlogprotected - _word_levelclutchlogprotected - clutchlog(clutchlog const &)=delete (defined in clutchlog)clutchlog - clutchlog() (defined in clutchlog)clutchloginlineprivate - critical enum value (defined in clutchlog)clutchlog - debug enum value (defined in clutchlog)clutchlog - default_depth_markclutchloginlineprotectedstatic - default_formatclutchloginlineprotectedstatic - default_hfill_charclutchloginlineprotectedstatic - default_hfill_maxclutchloginlineprotectedstatic - default_hfill_minclutchloginlineprotectedstatic - default_strip_callsclutchloginlineprotectedstatic - dump(const level &stage, const In container_begin, const In container_end, const std::string &file, const std::string &func, size_t line, const std::string &filename_template="dump_{n}.dat", const std::string sep=dump_default_sep) constclutchloginline - dump_default_formatclutchloginlineprotectedstatic - dump_default_sepclutchloginlineprotectedstatic - error enum value (defined in clutchlog)clutchlog - file(std::string file)clutchloginline - format(const std::string &format)clutchloginline - format() constclutchloginline - format(std::string row, const std::string &what, const level &stage, const std::string &file, const std::string &func, const size_t line) constclutchloginline - format_comment(const std::string &format)clutchloginline - format_comment() constclutchloginline - func(std::string func)clutchloginline - info enum value (defined in clutchlog)clutchlog - level enum nameclutchlog - level_of(const std::string name)clutchloginline - levels() constclutchloginline - line(std::string line)clutchloginline - locate(const level &stage, const std::string &file, const std::string &func, const size_t line) constclutchloginline - location(const std::string &in_file, const std::string &in_function=".*", const std::string &in_line=".*")clutchloginline - log(const level &stage, const std::string &what, const std::string &file, const std::string &func, size_t line) constclutchloginline - logger()clutchloginlinestatic - note enum value (defined in clutchlog)clutchlog - operator=(clutchlog const &)=delete (defined in clutchlog)clutchlog - out(std::ostream &out)clutchloginline - out()clutchloginline - progress enum value (defined in clutchlog)clutchlog - replace(const std::string &form, const std::string &mark, const std::string &tag) constclutchloginline - replace(const std::string &form, const std::string &mark, const size_t tag) constclutchloginline - style(level stage, FMT... styles)clutchloginline - style(level stage, fmt style)clutchloginline - style(level stage) constclutchloginline - threshold(level l)clutchloginline - threshold(const std::string &l)clutchloginline - threshold() constclutchloginline - warning enum value (defined in clutchlog)clutchlog - xdebug enum value (defined in clutchlog)clutchlog + _level_shortclutchlogprotected + _level_wordclutchlogprotected + _outclutchlogprotected + _stageclutchlogprotected + _strip_callsclutchlogprotected + _word_levelclutchlogprotected + clutchlog(clutchlog const &)=delete (defined in clutchlog)clutchlog + clutchlog() (defined in clutchlog)clutchloginlineprivate + critical enum value (defined in clutchlog)clutchlog + debug enum value (defined in clutchlog)clutchlog + default_depth_markclutchloginlineprotectedstatic + default_formatclutchloginlineprotectedstatic + default_hfill_charclutchloginlineprotectedstatic + default_hfill_maxclutchloginlineprotectedstatic + default_hfill_minclutchloginlineprotectedstatic + default_strip_callsclutchloginlineprotectedstatic + dump(const level &stage, const In container_begin, const In container_end, const std::string &file, const std::string &func, size_t line, const std::string &filename_template="dump_{n}.dat", const std::string sep=dump_default_sep) constclutchloginline + dump_default_formatclutchloginlineprotectedstatic + dump_default_sepclutchloginlineprotectedstatic + error enum value (defined in clutchlog)clutchlog + file(std::string file)clutchloginline + format(const std::string &format)clutchloginline + format() constclutchloginline + format(std::string row, const std::string &what, const level &stage, const std::string &file, const std::string &func, const size_t line) constclutchloginline + format_comment(const std::string &format)clutchloginline + format_comment() constclutchloginline + func(std::string func)clutchloginline + info enum value (defined in clutchlog)clutchlog + level enum nameclutchlog + level_of(const std::string name)clutchloginline + levels() constclutchloginline + line(std::string line)clutchloginline + locate(const level &stage, const std::string &file, const std::string &func, const size_t line) constclutchloginline + location(const std::string &in_file, const std::string &in_function=".*", const std::string &in_line=".*")clutchloginline + log(const level &stage, const std::string &what, const std::string &file, const std::string &func, size_t line) constclutchloginline + logger()clutchloginlinestatic + note enum value (defined in clutchlog)clutchlog + operator=(clutchlog const &)=delete (defined in clutchlog)clutchlog + out(std::ostream &out)clutchloginline + out()clutchloginline + progress enum value (defined in clutchlog)clutchlog + replace(const std::string &form, const std::string &mark, const std::string &tag) constclutchloginline + replace(const std::string &form, const std::string &mark, const size_t tag) constclutchloginline + style(level stage, FMT... styles)clutchloginline + style(level stage, fmt style)clutchloginline + style(level stage) constclutchloginline + threshold(level l)clutchloginline + threshold(const std::string &l)clutchloginline + threshold() constclutchloginline + warning enum value (defined in clutchlog)clutchlog + xdebug enum value (defined in clutchlog)clutchlog diff --git a/docs/classclutchlog.html b/docs/classclutchlog.html index c1a310e..a487fcc 100644 --- a/docs/classclutchlog.html +++ b/docs/classclutchlog.html @@ -281,6 +281,10 @@ const std::map< level_word_level  Dictionary of level string to their identifier.
  + +std::map< level, std::string > _level_short + dictionary of level identifier to their 4-letters representation.
std::map< level, fmt_level_fmt  Dictionary of level identifier to their format.
@@ -381,11 +385,11 @@ void operator= (Return the log level tag corresponding to the given pre-configured name.

Note
This is case sensitive, see the pre-configured _level_word.
-

Definition at line 1002 of file clutchlog.h.

+

Definition at line 1014 of file clutchlog.h.

-

References _word_level.

+

References _word_level.

-

Referenced by threshold().

+

Referenced by threshold().

@@ -428,11 +432,11 @@ template<class ... FMT>

Set the style (color and typo) of the given log level.

This version accept style arguments as if they were passed to clutchlog::fmt.

-

Definition at line 1036 of file clutchlog.h.

+

Definition at line 1048 of file clutchlog.h.

-

References style().

+

References style().

-

Referenced by style().

+

Referenced by style().

@@ -480,9 +484,9 @@ template<class ... FMT>
log.replace("{greet} {world}", "\\{greet\\}", "hello");
// returns "hello {world}"
-

Definition at line 1125 of file clutchlog.h.

+

Definition at line 1137 of file clutchlog.h.

-

Referenced by dump(), format(), and replace().

+

Referenced by dump(), format(), and replace().

@@ -491,7 +495,7 @@ template<class ... FMT> -
void log(const level &stage, const std::string &what, const std::string &file, const std::string &func, size_t line) const
Print a log message IF the location matches the given one.
Definition: clutchlog.h:1287
+
void log(const level &stage, const std::string &what, const std::string &file, const std::string &func, size_t line) const
Print a log message IF the location matches the given one.
Definition: clutchlog.h:1301
static clutchlog & logger()
Get the logger instance.
Definition: clutchlog.h:296

Go to the source code of this file.

diff --git a/docs/clutchlog_8h__dep__incl.map b/docs/clutchlog_8h__dep__incl.map index b05ba40..8867224 100644 --- a/docs/clutchlog_8h__dep__incl.map +++ b/docs/clutchlog_8h__dep__incl.map @@ -1,12 +1,13 @@ - + - - - - - + + + + + + diff --git a/docs/clutchlog_8h__dep__incl.md5 b/docs/clutchlog_8h__dep__incl.md5 index dc19e87..2ebb922 100644 --- a/docs/clutchlog_8h__dep__incl.md5 +++ b/docs/clutchlog_8h__dep__incl.md5 @@ -1 +1 @@ -78a9f951c605f1508d314cfbf6ab9ace \ No newline at end of file +2272091813648aca5bb139f5c62184ae \ No newline at end of file diff --git a/docs/clutchlog_8h__dep__incl.svg b/docs/clutchlog_8h__dep__incl.svg index 1b05166..c8557a0 100644 --- a/docs/clutchlog_8h__dep__incl.svg +++ b/docs/clutchlog_8h__dep__incl.svg @@ -46,7 +46,7 @@ if (edges && edges.length) { @@ -54,13 +54,13 @@ var sectionId = 'dynsection-1'; clutchlog.h - + Node1 - -clutchlog.h + +clutchlog.h @@ -76,8 +76,8 @@ var sectionId = 'dynsection-1'; Node1->Node2 - - + + @@ -91,8 +91,8 @@ var sectionId = 'dynsection-1'; Node1->Node3 - - + + @@ -106,8 +106,8 @@ var sectionId = 'dynsection-1'; Node1->Node4 - - + + @@ -121,83 +121,98 @@ var sectionId = 'dynsection-1'; Node1->Node5 - - + + Node6 - - -t-demo.cpp + + +t-demo-extravagant.cpp Node1->Node6 - - + + Node7 - - -t-dump.cpp + + +t-demo.cpp Node1->Node7 - - + + Node8 - - -t-fmt-constructors.cpp + + +t-dump.cpp Node1->Node8 - - + + Node9 - - -t-log.cpp + + +t-fmt-constructors.cpp Node1->Node9 - - + + Node10 - - -t-one-line-if.cpp + + +t-log.cpp Node1->Node10 - - + + + + + +Node11 + + +t-one-line-if.cpp + + + + + +Node1->Node11 + + diff --git a/docs/clutchlog_8h__dep__incl_org.svg b/docs/clutchlog_8h__dep__incl_org.svg index 38a50e3..d7492c1 100644 --- a/docs/clutchlog_8h__dep__incl_org.svg +++ b/docs/clutchlog_8h__dep__incl_org.svg @@ -4,17 +4,17 @@ - + clutchlog.h - + Node1 - -clutchlog.h + +clutchlog.h @@ -30,8 +30,8 @@ Node1->Node2 - - + + @@ -45,8 +45,8 @@ Node1->Node3 - - + + @@ -60,8 +60,8 @@ Node1->Node4 - - + + @@ -75,83 +75,98 @@ Node1->Node5 - - + + Node6 - - -t-demo.cpp + + +t-demo-extravagant.cpp Node1->Node6 - - + + Node7 - - -t-dump.cpp + + +t-demo.cpp Node1->Node7 - - + + Node8 - - -t-fmt-constructors.cpp + + +t-dump.cpp Node1->Node8 - - + + Node9 - - -t-log.cpp + + +t-fmt-constructors.cpp Node1->Node9 - - + + Node10 - - -t-one-line-if.cpp + + +t-log.cpp Node1->Node10 - - + + + + + +Node11 + + +t-one-line-if.cpp + + + + + +Node1->Node11 + + diff --git a/docs/clutchlog_8h_source.html b/docs/clutchlog_8h_source.html index 5de3275..e3c31b4 100644 --- a/docs/clutchlog_8h_source.html +++ b/docs/clutchlog_8h_source.html @@ -645,796 +645,810 @@ $(document).ready(function(){initNavTree('clutchlog_8h_source.html',''); initRes
835  {level::debug ,"Debug"},
836  {level::xdebug ,"XDebug"}
837  }),
-
838  _level_fmt({
-
839  {level::critical,fmt(fmt::fg::red, fmt::typo::underline)},
-
840  {level::error ,fmt(fmt::fg::red, fmt::typo::bold)},
-
841  {level::warning ,fmt(fmt::fg::magenta, fmt::typo::bold)},
-
842  {level::progress,fmt()},
-
843  {level::note ,fmt()},
-
844  {level::info ,fmt()},
-
845  {level::debug ,fmt()},
-
846  {level::xdebug ,fmt()}
+
838  _level_short({
+
839  {level::critical, "Crit"},
+
840  {level::error , "Erro"},
+
841  {level::warning , "Warn"},
+
842  {level::progress, "Prog"},
+
843  {level::note , "Note"},
+
844  {level::info , "Info"},
+
845  {level::debug , "Dbug"},
+
846  {level::xdebug , "XDbg"}
847  }),
-
848  _format_log(clutchlog::default_format),
-
849  _format_dump(clutchlog::dump_default_format),
-
850  #if CLUTCHLOG_HAVE_UNIX_SYSIOCTL
-
851  _hfill_char(clutchlog::default_hfill_char),
-
852  _hfill_fmt(fmt::fg::none),
-
853  _hfill_max(clutchlog::default_hfill_max),
-
854  _hfill_min(clutchlog::default_hfill_min),
-
855  #endif
-
856  _out(&std::clog),
-
857  #if CLUTCHLOG_HAVE_UNIX_SYSINFO == 1
-
858  _depth(std::numeric_limits<size_t>::max() - _strip_calls),
-
859  _depth_mark(clutchlog::default_depth_mark),
-
860  #endif
-
861  _stage(level::error),
-
862  _in_file(".*"),
-
863  _in_func(".*"),
-
864  _in_line(".*")
-
865  {
-
866  // Reverse the level->word map into a word->level map.
-
867  for(auto& lw : _level_word) {
-
868  _word_level[lw.second] = lw.first;
-
869  }
-
870 #if CLUTCHLOG_HAVE_UNIX_SYSIOCTL
-
871  struct winsize w;
-
872  ioctl(STDERR_FILENO, TIOCGWINSZ, &w);
-
873  _nb_columns = std::max(std::min((size_t)w.ws_col, default_hfill_max), default_hfill_min);
-
874 #endif
-
875  }
-
876 
-
877  protected:
-
879  size_t _strip_calls;
-
881  const std::map<level,std::string> _level_word;
-
883  std::map<std::string,level> _word_level;
-
885  std::map<level,fmt> _level_fmt;
-
887  std::string _format_log;
-
889  std::string _format_dump;
-
890  #if CLUTCHLOG_HAVE_UNIX_SYSIOCTL
-
891 
-
892  char _hfill_char;
-
894  fmt _hfill_fmt;
-
896  size_t _hfill_max;
-
898  size_t _hfill_min;
-
899  #endif
-
900 
-
901  std::ostream* _out;
-
902  #if CLUTCHLOG_HAVE_UNIX_SYSINFO == 1
+
848  _level_fmt({
+
849  {level::critical,fmt(fmt::fg::red, fmt::typo::underline)},
+
850  {level::error ,fmt(fmt::fg::red, fmt::typo::bold)},
+
851  {level::warning ,fmt(fmt::fg::magenta, fmt::typo::bold)},
+
852  {level::progress,fmt()},
+
853  {level::note ,fmt()},
+
854  {level::info ,fmt()},
+
855  {level::debug ,fmt()},
+
856  {level::xdebug ,fmt()}
+
857  }),
+
858  _format_log(clutchlog::default_format),
+
859  _format_dump(clutchlog::dump_default_format),
+
860  #if CLUTCHLOG_HAVE_UNIX_SYSIOCTL
+
861  _hfill_char(clutchlog::default_hfill_char),
+
862  _hfill_fmt(fmt::fg::none),
+
863  _hfill_max(clutchlog::default_hfill_max),
+
864  _hfill_min(clutchlog::default_hfill_min),
+
865  #endif
+
866  _out(&std::clog),
+
867  #if CLUTCHLOG_HAVE_UNIX_SYSINFO == 1
+
868  _depth(std::numeric_limits<size_t>::max() - _strip_calls),
+
869  _depth_mark(clutchlog::default_depth_mark),
+
870  #endif
+
871  _stage(level::error),
+
872  _in_file(".*"),
+
873  _in_func(".*"),
+
874  _in_line(".*")
+
875  {
+
876  // Reverse the level->word map into a word->level map.
+
877  for(auto& lw : _level_word) {
+
878  _word_level[lw.second] = lw.first;
+
879  }
+
880 #if CLUTCHLOG_HAVE_UNIX_SYSIOCTL
+
881  struct winsize w;
+
882  ioctl(STDERR_FILENO, TIOCGWINSZ, &w);
+
883  _nb_columns = std::max(std::min((size_t)w.ws_col, default_hfill_max), default_hfill_min);
+
884 #endif
+
885  }
+
886 
+
887  protected:
+
889  size_t _strip_calls;
+
891  const std::map<level,std::string> _level_word;
+
893  std::map<std::string,level> _word_level;
+
895  std::map<level,std::string> _level_short;
+
897  std::map<level,fmt> _level_fmt;
+
899  std::string _format_log;
+
901  std::string _format_dump;
+
902  #if CLUTCHLOG_HAVE_UNIX_SYSIOCTL
903 
-
904  size_t _depth;
-
906  std::string _depth_mark;
-
907  #endif
-
908 
-
909  level _stage;
-
911  std::regex _in_file;
-
913  std::regex _in_func;
-
915  std::regex _in_line;
-
916 
-
917 #if CLUTCHLOG_HAVE_UNIX_SYSINFO == 1
-
918 
-
919  static const size_t _max_buffer = 4096;
-
920 #endif
-
921 
-
922 #if CLUTCHLOG_HAVE_UNIX_SYSIOCTL
-
923 
-
924  size_t _nb_columns;
-
925 #endif
-
926 
-
928  public:
-
929 
-
933  void format(const std::string& format) {_format_log = format;}
-
936  std::string format() const {return _format_log;}
-
937 
-
939  void format_comment(const std::string& format) {_format_dump = format;}
-
941  std::string format_comment() const {return _format_dump;}
-
942 
-
944  void out(std::ostream& out) {_out = &out;}
-
946  std::ostream& out() {return *_out;}
-
947 
-
948 #if CLUTCHLOG_HAVE_UNIX_SYSINFO == 1
-
949  void depth(size_t d) {_depth = d;}
-
952  size_t depth() const {return _depth;}
-
953 
-
955  void depth_mark(const std::string mark) {_depth_mark = mark;}
-
957  std::string depth_mark() const {return _depth_mark;}
-
958 
-
960  void strip_calls(const size_t n) {_strip_calls = n;}
-
962  size_t strip_calls() const {return _strip_calls;}
-
963 #endif
-
964 #if CLUTCHLOG_HAVE_UNIX_SYSIOCTL == 1
-
965  void hfill_mark(const char mark) {_hfill_char = mark;}
-
968  char hfill_mark() const {return _hfill_char;}
-
970  void hfill_style(fmt style) {_hfill_fmt = style;}
-
975  template<class ... FMT>
-
976  void hfill_style(FMT... styles) { this->hfill_style(fmt(styles...)); }
-
978  fmt hfill_style() const {return _hfill_fmt;}
-
980  void hfill_max(const size_t nmax) {_hfill_max = nmax;}
-
982  size_t hfill_max() {return _hfill_max;}
-
984  void hfill_min(const size_t nmin) {_hfill_min = nmin;}
-
986  size_t hfill_min() {return _hfill_min;}
-
987 #endif
-
988 
-
990  void threshold(level l) {_stage = l;}
-
992  void threshold(const std::string& l) {_stage = this->level_of(l);}
-
994  level threshold() const {return _stage;}
-
996  const std::map<std::string,level>& levels() const { return _word_level;}
-
997 
-
1002  level level_of(const std::string name)
-
1003  {
-
1004  const auto ilevel = _word_level.find(name);
-
1005  if( ilevel != std::end(_word_level)) {
-
1006  return ilevel->second;
-
1007  } else {
-
1008  throw std::out_of_range("'" + name + "' is not a valid log level name");
-
1009  }
-
1010  }
-
1011 
-
1013  void file(std::string file) {_in_file = file;}
-
1015  void func(std::string func) {_in_func = func;}
-
1017  void line(std::string line) {_in_line = line;}
-
1018 
-
1020  void location(
-
1021  const std::string& in_file,
-
1022  const std::string& in_function=".*",
-
1023  const std::string& in_line=".*"
-
1024  )
-
1025  {
-
1026  file(in_file);
-
1027  func(in_function);
-
1028  line(in_line);
-
1029  }
+
904  char _hfill_char;
+
906  fmt _hfill_fmt;
+
908  size_t _hfill_max;
+
910  size_t _hfill_min;
+
911  #endif
+
912 
+
913  std::ostream* _out;
+
914  #if CLUTCHLOG_HAVE_UNIX_SYSINFO == 1
+
915 
+
916  size_t _depth;
+
918  std::string _depth_mark;
+
919  #endif
+
920 
+
921  level _stage;
+
923  std::regex _in_file;
+
925  std::regex _in_func;
+
927  std::regex _in_line;
+
928 
+
929 #if CLUTCHLOG_HAVE_UNIX_SYSINFO == 1
+
930 
+
931  static const size_t _max_buffer = 4096;
+
932 #endif
+
933 
+
934 #if CLUTCHLOG_HAVE_UNIX_SYSIOCTL
+
935 
+
936  size_t _nb_columns;
+
937 #endif
+
938 
+
940  public:
+
941 
+
945  void format(const std::string& format) {_format_log = format;}
+
948  std::string format() const {return _format_log;}
+
949 
+
951  void format_comment(const std::string& format) {_format_dump = format;}
+
953  std::string format_comment() const {return _format_dump;}
+
954 
+
956  void out(std::ostream& out) {_out = &out;}
+
958  std::ostream& out() {return *_out;}
+
959 
+
960 #if CLUTCHLOG_HAVE_UNIX_SYSINFO == 1
+
961  void depth(size_t d) {_depth = d;}
+
964  size_t depth() const {return _depth;}
+
965 
+
967  void depth_mark(const std::string mark) {_depth_mark = mark;}
+
969  std::string depth_mark() const {return _depth_mark;}
+
970 
+
972  void strip_calls(const size_t n) {_strip_calls = n;}
+
974  size_t strip_calls() const {return _strip_calls;}
+
975 #endif
+
976 #if CLUTCHLOG_HAVE_UNIX_SYSIOCTL == 1
+
977  void hfill_mark(const char mark) {_hfill_char = mark;}
+
980  char hfill_mark() const {return _hfill_char;}
+
982  void hfill_style(fmt style) {_hfill_fmt = style;}
+
987  template<class ... FMT>
+
988  void hfill_style(FMT... styles) { this->hfill_style(fmt(styles...)); }
+
990  fmt hfill_style() const {return _hfill_fmt;}
+
992  void hfill_max(const size_t nmax) {_hfill_max = nmax;}
+
994  size_t hfill_max() {return _hfill_max;}
+
996  void hfill_min(const size_t nmin) {_hfill_min = nmin;}
+
998  size_t hfill_min() {return _hfill_min;}
+
999 #endif
+
1000 
+
1002  void threshold(level l) {_stage = l;}
+
1004  void threshold(const std::string& l) {_stage = this->level_of(l);}
+
1006  level threshold() const {return _stage;}
+
1008  const std::map<std::string,level>& levels() const { return _word_level;}
+
1009 
+
1014  level level_of(const std::string name)
+
1015  {
+
1016  const auto ilevel = _word_level.find(name);
+
1017  if( ilevel != std::end(_word_level)) {
+
1018  return ilevel->second;
+
1019  } else {
+
1020  throw std::out_of_range("'" + name + "' is not a valid log level name");
+
1021  }
+
1022  }
+
1023 
+
1025  void file(std::string file) {_in_file = file;}
+
1027  void func(std::string func) {_in_func = func;}
+
1029  void line(std::string line) {_in_line = line;}
1030 
-
1035  template<class ... FMT>
-
1036  void style(level stage, FMT... styles) { this->style(stage,fmt(styles...)); }
-
1038  void style(level stage, fmt style) { _level_fmt.at(stage) = style; }
-
1040  fmt style(level stage) const { return _level_fmt.at(stage); }
-
1041 
-
1044  public:
-
1045 
-
1049  struct scope_t {
-
1052  bool matches;
-
1054  level stage;
-
1055 #if CLUTCHLOG_HAVE_UNIX_SYSINFO == 1
-
1056 
-
1057  size_t depth;
-
1058 #endif
-
1059 
-
1060  bool there;
-
1062  scope_t() :
-
1063  matches(false),
-
1064  stage(level::xdebug),
-
1065 #if CLUTCHLOG_HAVE_UNIX_SYSINFO == 1
-
1066  depth(0),
-
1067 #endif
-
1068  there(false)
-
1069  {}
-
1070  }; // scope_t
+
1032  void location(
+
1033  const std::string& in_file,
+
1034  const std::string& in_function=".*",
+
1035  const std::string& in_line=".*"
+
1036  )
+
1037  {
+
1038  file(in_file);
+
1039  func(in_function);
+
1040  line(in_line);
+
1041  }
+
1042 
+
1047  template<class ... FMT>
+
1048  void style(level stage, FMT... styles) { this->style(stage,fmt(styles...)); }
+
1050  void style(level stage, fmt style) { _level_fmt.at(stage) = style; }
+
1052  fmt style(level stage) const { return _level_fmt.at(stage); }
+
1053 
+
1056  public:
+
1057 
+
1061  struct scope_t {
+
1064  bool matches;
+
1066  level stage;
+
1067 #if CLUTCHLOG_HAVE_UNIX_SYSINFO == 1
+
1068 
+
1069  size_t depth;
+
1070 #endif
1071 
-
1072 
-
1074  scope_t locate(
-
1075  const level& stage,
-
1076  const std::string& file,
-
1077  const std::string& func,
-
1078  const size_t line
-
1079  ) const
-
1080  {
-
1081  scope_t scope; // False scope by default.
-
1082 
-
1083  /***** Log level stage *****/
-
1084  // Test stage first, because it's fastest.
-
1085  scope.stage = stage;
-
1086  if(not (scope.stage <= _stage)) {
-
1087  // Bypass useless computations if no match
-
1088  // because of the stage.
-
1089  return scope;
-
1090  }
-
1091 #if CLUTCHLOG_HAVE_UNIX_SYSINFO == 1
-
1092  /***** Stack depth *****/
-
1093  // Backtrace in second, quite fast.
-
1094  size_t stack_depth;
-
1095  void *buffer[_max_buffer];
-
1096  stack_depth = backtrace(buffer, _max_buffer);
-
1097  scope.depth = stack_depth;
-
1098  if(not (scope.depth <= _depth + _strip_calls)) {
-
1099  // Bypass if no match.
-
1100  return scope;
-
1101  }
-
1102 #endif
-
1103 
-
1104  /***** Location *****/
-
1105  // Location last, slowest.
-
1106  std::ostringstream sline; sline << line;
-
1107  scope.there =
-
1108  std::regex_search(file, _in_file)
-
1109  and std::regex_search(func, _in_func)
-
1110  and std::regex_search(sline.str(), _in_line);
-
1111 
-
1112  // No need to retest stage and depth, which are true here.
-
1113  scope.matches = scope.there;
-
1114 
-
1115  return scope;
-
1116  } // locate
-
1117 
-
1125  std::string replace(
-
1126  const std::string& form,
-
1127  const std::string& mark,
-
1128  const std::string& tag
-
1129  ) const
-
1130  {
-
1131  // Useless debug code, unless something fancy would be done with name tags.
-
1132  // std::regex re;
-
1133  // try {
-
1134  // re = std::regex(mark);
-
1135  //
-
1136  // } catch(const std::regex_error& e) {
-
1137  // std::cerr << "ERROR with a regular expression \"" << mark << "\": ";
-
1138  // switch(e.code()) {
-
1139  // case std::regex_constants::error_collate:
-
1140  // std::cerr << "the expression contains an invalid collating element name";
-
1141  // break;
-
1142  // case std::regex_constants::error_ctype:
-
1143  // std::cerr << "the expression contains an invalid character class name";
-
1144  // break;
-
1145  // case std::regex_constants::error_escape:
-
1146  // std::cerr << "the expression contains an invalid escaped character or a trailing escape";
-
1147  // break;
-
1148  // case std::regex_constants::error_backref:
-
1149  // std::cerr << "the expression contains an invalid back reference";
-
1150  // break;
-
1151  // case std::regex_constants::error_brack:
-
1152  // std::cerr << "the expression contains mismatched square brackets ('[' and ']')";
+
1072  bool there;
+
1074  scope_t() :
+
1075  matches(false),
+
1076  stage(level::xdebug),
+
1077 #if CLUTCHLOG_HAVE_UNIX_SYSINFO == 1
+
1078  depth(0),
+
1079 #endif
+
1080  there(false)
+
1081  {}
+
1082  }; // scope_t
+
1083 
+
1084 
+
1086  scope_t locate(
+
1087  const level& stage,
+
1088  const std::string& file,
+
1089  const std::string& func,
+
1090  const size_t line
+
1091  ) const
+
1092  {
+
1093  scope_t scope; // False scope by default.
+
1094 
+
1095  /***** Log level stage *****/
+
1096  // Test stage first, because it's fastest.
+
1097  scope.stage = stage;
+
1098  if(not (scope.stage <= _stage)) {
+
1099  // Bypass useless computations if no match
+
1100  // because of the stage.
+
1101  return scope;
+
1102  }
+
1103 #if CLUTCHLOG_HAVE_UNIX_SYSINFO == 1
+
1104  /***** Stack depth *****/
+
1105  // Backtrace in second, quite fast.
+
1106  size_t stack_depth;
+
1107  void *buffer[_max_buffer];
+
1108  stack_depth = backtrace(buffer, _max_buffer);
+
1109  scope.depth = stack_depth;
+
1110  if(not (scope.depth <= _depth + _strip_calls)) {
+
1111  // Bypass if no match.
+
1112  return scope;
+
1113  }
+
1114 #endif
+
1115 
+
1116  /***** Location *****/
+
1117  // Location last, slowest.
+
1118  std::ostringstream sline; sline << line;
+
1119  scope.there =
+
1120  std::regex_search(file, _in_file)
+
1121  and std::regex_search(func, _in_func)
+
1122  and std::regex_search(sline.str(), _in_line);
+
1123 
+
1124  // No need to retest stage and depth, which are true here.
+
1125  scope.matches = scope.there;
+
1126 
+
1127  return scope;
+
1128  } // locate
+
1129 
+
1137  std::string replace(
+
1138  const std::string& form,
+
1139  const std::string& mark,
+
1140  const std::string& tag
+
1141  ) const
+
1142  {
+
1143  // Useless debug code, unless something fancy would be done with name tags.
+
1144  // std::regex re;
+
1145  // try {
+
1146  // re = std::regex(mark);
+
1147  //
+
1148  // } catch(const std::regex_error& e) {
+
1149  // std::cerr << "ERROR with a regular expression \"" << mark << "\": ";
+
1150  // switch(e.code()) {
+
1151  // case std::regex_constants::error_collate:
+
1152  // std::cerr << "the expression contains an invalid collating element name";
1153  // break;
-
1154  // case std::regex_constants::error_paren:
-
1155  // std::cerr << "the expression contains mismatched parentheses ('(' and ')')";
+
1154  // case std::regex_constants::error_ctype:
+
1155  // std::cerr << "the expression contains an invalid character class name";
1156  // break;
-
1157  // case std::regex_constants::error_brace:
-
1158  // std::cerr << "the expression contains mismatched curly braces ('{' and '}')";
+
1157  // case std::regex_constants::error_escape:
+
1158  // std::cerr << "the expression contains an invalid escaped character or a trailing escape";
1159  // break;
-
1160  // case std::regex_constants::error_badbrace:
-
1161  // std::cerr << "the expression contains an invalid range in a {} expression";
+
1160  // case std::regex_constants::error_backref:
+
1161  // std::cerr << "the expression contains an invalid back reference";
1162  // break;
-
1163  // case std::regex_constants::error_range:
-
1164  // std::cerr << "the expression contains an invalid character range (e.g. [b-a])";
+
1163  // case std::regex_constants::error_brack:
+
1164  // std::cerr << "the expression contains mismatched square brackets ('[' and ']')";
1165  // break;
-
1166  // case std::regex_constants::error_space:
-
1167  // std::cerr << "there was not enough memory to convert the expression into a finite state machine";
+
1166  // case std::regex_constants::error_paren:
+
1167  // std::cerr << "the expression contains mismatched parentheses ('(' and ')')";
1168  // break;
-
1169  // case std::regex_constants::error_badrepeat:
-
1170  // std::cerr << "one of *?+{ was not preceded by a valid regular expression";
+
1169  // case std::regex_constants::error_brace:
+
1170  // std::cerr << "the expression contains mismatched curly braces ('{' and '}')";
1171  // break;
-
1172  // case std::regex_constants::error_complexity:
-
1173  // std::cerr << "the complexity of an attempted match exceeded a predefined level";
+
1172  // case std::regex_constants::error_badbrace:
+
1173  // std::cerr << "the expression contains an invalid range in a {} expression";
1174  // break;
-
1175  // case std::regex_constants::error_stack:
-
1176  // std::cerr << "there was not enough memory to perform a match";
+
1175  // case std::regex_constants::error_range:
+
1176  // std::cerr << "the expression contains an invalid character range (e.g. [b-a])";
1177  // break;
-
1178  // default:
-
1179  // std::cerr << "unknown error";
-
1180  // }
-
1181  // std::cerr << std::endl;
-
1182  // throw;
-
1183  // } // catch
-
1184 
-
1185  const std::regex re(mark);
-
1186  return std::regex_replace(form, re, tag);
-
1187  }
-
1188 
-
1190  std::string replace(
-
1191  const std::string& form,
-
1192  const std::string& mark,
-
1193  const size_t tag
-
1194  ) const
-
1195  {
-
1196  std::ostringstream stag; stag << tag;
-
1197  return replace(form, mark, stag.str());
-
1198  }
-
1199 
-
1201  std::string format(
-
1202  std::string row,
-
1203  const std::string& what,
-
1204 #if CLUTCHLOG_HAVE_UNIX_SYSINFO == 1
-
1205  const std::string& name,
-
1206 #endif
-
1207  const level& stage,
-
1208  const std::string& file,
-
1209  const std::string& func,
-
1210  const size_t line
-
1211 #if CLUTCHLOG_HAVE_UNIX_SYSINFO == 1
-
1212  ,
-
1213  const size_t depth
-
1214 #endif
-
1215  ) const
-
1216  {
-
1217  row = replace(row, "\\{msg\\}", what);
-
1218  row = replace(row, "\\{file\\}", file);
-
1219  row = replace(row, "\\{func\\}", func);
-
1220  row = replace(row, "\\{line\\}", line);
-
1221 
-
1222  row = replace(row, "\\{level\\}", _level_word.at(stage));
-
1223  std::string letter(1, _level_word.at(stage).at(0)); // char -> string
-
1224  row = replace(row, "\\{level_letter\\}", letter);
-
1225 
-
1226 #if CLUTCHLOG_HAVE_UNIX_SYSINFO == 1
-
1227  row = replace(row, "\\{name\\}", name);
-
1228  row = replace(row, "\\{depth\\}", depth - _strip_calls);
-
1229 
-
1230  std::ostringstream chevrons;
-
1231  for(size_t i = _strip_calls; i < depth; ++i) {
-
1232  chevrons << _depth_mark;
-
1233  }
-
1234  row = replace(row, "\\{depth_marks\\}", chevrons.str());
-
1235 #endif
-
1236 
-
1237  row = replace(row, "\\{level_fmt\\}", _level_fmt.at(stage).str());
-
1238 
-
1239 #if CLUTCHLOG_HAVE_UNIX_SYSIOCTL
-
1240  // hfill is replaced last to allow for correct line width estimation.
-
1241  const std::string raw_row = replace(row, "\\x1B\\[([0-9]{1,2}(;[0-9]{1,2})?)?[m|K]", "");
-
1242  const std::string hfill_tag = "{hfill}";
-
1243  const size_t hfill_pos = row.find(hfill_tag);
-
1244  const size_t raw_hfill_pos = raw_row.find(hfill_tag);
-
1245  const size_t nb_columns = std::max(std::min((size_t)_nb_columns, _hfill_max), _hfill_min);
-
1246  if(hfill_pos != std::string::npos) {
-
1247  assert(raw_hfill_pos != std::string::npos);
-
1248  if(nb_columns > 0) {
-
1249  const size_t left_len = raw_hfill_pos;
-
1250  const size_t right_len = raw_row.size() - raw_hfill_pos - hfill_tag.size();
-
1251  if(right_len+left_len > nb_columns) {
-
1252  // The right part would go over the terminal width: add a new row.
-
1253  if(right_len < nb_columns) {
-
1254  // There is room for the right part on a new line.
-
1255  const std::string hfill(std::max((size_t)0, nb_columns-right_len), _hfill_char);
-
1256  const std::string hfill_styled = _hfill_fmt(hfill);
-
1257  row = replace(row, "\\{hfill\\}", "\n"+hfill_styled);
-
1258  } else {
-
1259  // Right part still goes over columns: let it go.
-
1260  const std::string hfill(1, _hfill_char);
-
1261  const std::string hfill_styled = _hfill_fmt(hfill);
-
1262  row = replace(row, "\\{hfill\\}", "\n"+hfill_styled);
-
1263  }
-
1264  } else {
-
1265  // There is some space in between left and right parts.
-
1266  const std::string hfill(std::max((size_t)0, nb_columns - (right_len+left_len)), _hfill_char);
-
1267  const std::string hfill_styled = _hfill_fmt(hfill);
-
1268  row = replace(row, "\\{hfill\\}", hfill_styled);
-
1269  }
-
1270  } else {
-
1271  // We don't know the terminal width.
-
1272  const std::string hfill(1, _hfill_char);
-
1273  const std::string hfill_styled = _hfill_fmt(hfill);
-
1274  row = replace(row, "\\{hfill\\}", hfill_styled);
-
1275  }
-
1276  }
-
1277 #else
-
1278  // We cannot know the terminal width.
-
1279  const std::string hfill(1, _hfill_char);
-
1280  const std::string hfill_styled = _hfill_fmt(hfill);
-
1281  row = replace(row, "\\{hfill\\}", hfill_styled);
-
1282 #endif
-
1283  return _level_fmt.at(stage)(row);
-
1284  }
-
1285 
-
1287  void log(
-
1288  const level& stage,
-
1289  const std::string& what,
-
1290  const std::string& file, const std::string& func, size_t line
-
1291  ) const
-
1292  {
-
1293  scope_t scope = locate(stage, file, func, line);
-
1294 
-
1295  if(scope.matches) {
-
1296 #if CLUTCHLOG_HAVE_UNIX_SYSINFO == 1
-
1297  *_out << format(_format_log, what, basename(getenv("_")),
-
1298  stage, file, func,
-
1299  line, scope.depth );
-
1300 #else
-
1301  *_out << format(_format_log, what,
-
1302  stage, file, func,
-
1303  line );
-
1304 
-
1305 #endif
-
1306  _out->flush();
-
1307  } // if scopes.matches
-
1308  }
-
1309 
-
1311  template<class In>
-
1312  void dump(
-
1313  const level& stage,
-
1314  const In container_begin, const In container_end,
-
1315  const std::string& file, const std::string& func, size_t line,
-
1316  const std::string& filename_template = "dump_{n}.dat",
-
1317  const std::string sep = dump_default_sep
-
1318  ) const
-
1319  {
-
1320  scope_t scope = locate(stage, file, func, line);
-
1321 
-
1322  if(scope.matches) {
-
1323  const std::string tag = "\\{n\\}";
-
1324  const std::regex re(tag);
-
1325  std::string outfile = "";
-
1326 
-
1327  // If the file name template has the {n} tag.
-
1328  if(std::regex_search(filename_template, re)) {
-
1329  // Increment n until a free one is found.
-
1330  size_t n = 0;
-
1331  do {
-
1332  outfile = replace(filename_template, tag, n);
-
1333  n++;
-
1334  } while( fs::exists( outfile ) );
+
1178  // case std::regex_constants::error_space:
+
1179  // std::cerr << "there was not enough memory to convert the expression into a finite state machine";
+
1180  // break;
+
1181  // case std::regex_constants::error_badrepeat:
+
1182  // std::cerr << "one of *?+{ was not preceded by a valid regular expression";
+
1183  // break;
+
1184  // case std::regex_constants::error_complexity:
+
1185  // std::cerr << "the complexity of an attempted match exceeded a predefined level";
+
1186  // break;
+
1187  // case std::regex_constants::error_stack:
+
1188  // std::cerr << "there was not enough memory to perform a match";
+
1189  // break;
+
1190  // default:
+
1191  // std::cerr << "unknown error";
+
1192  // }
+
1193  // std::cerr << std::endl;
+
1194  // throw;
+
1195  // } // catch
+
1196 
+
1197  const std::regex re(mark);
+
1198  return std::regex_replace(form, re, tag);
+
1199  }
+
1200 
+
1202  std::string replace(
+
1203  const std::string& form,
+
1204  const std::string& mark,
+
1205  const size_t tag
+
1206  ) const
+
1207  {
+
1208  std::ostringstream stag; stag << tag;
+
1209  return replace(form, mark, stag.str());
+
1210  }
+
1211 
+
1213  std::string format(
+
1214  std::string row,
+
1215  const std::string& what,
+
1216 #if CLUTCHLOG_HAVE_UNIX_SYSINFO == 1
+
1217  const std::string& name,
+
1218 #endif
+
1219  const level& stage,
+
1220  const std::string& file,
+
1221  const std::string& func,
+
1222  const size_t line
+
1223 #if CLUTCHLOG_HAVE_UNIX_SYSINFO == 1
+
1224  ,
+
1225  const size_t depth
+
1226 #endif
+
1227  ) const
+
1228  {
+
1229  row = replace(row, "\\{msg\\}", what);
+
1230  row = replace(row, "\\{file\\}", file);
+
1231  row = replace(row, "\\{func\\}", func);
+
1232  row = replace(row, "\\{line\\}", line);
+
1233 
+
1234  row = replace(row, "\\{level\\}", _level_word.at(stage));
+
1235  std::string letter(1, _level_word.at(stage).at(0)); // char -> string
+
1236  row = replace(row, "\\{level_letter\\}", letter);
+
1237 
+
1238  row = replace(row, "\\{level_short\\}", _level_short.at(stage));
+
1239 
+
1240 #if CLUTCHLOG_HAVE_UNIX_SYSINFO == 1
+
1241  row = replace(row, "\\{name\\}", name);
+
1242  row = replace(row, "\\{depth\\}", depth - _strip_calls);
+
1243 
+
1244  std::ostringstream chevrons;
+
1245  for(size_t i = _strip_calls; i < depth; ++i) {
+
1246  chevrons << _depth_mark;
+
1247  }
+
1248  row = replace(row, "\\{depth_marks\\}", chevrons.str());
+
1249 #endif
+
1250 
+
1251  row = replace(row, "\\{level_fmt\\}", _level_fmt.at(stage).str());
+
1252 
+
1253 #if CLUTCHLOG_HAVE_UNIX_SYSIOCTL
+
1254  // hfill is replaced last to allow for correct line width estimation.
+
1255  const std::string raw_row = replace(row, "\\x1B\\[([0-9]{1,2}(;[0-9]{1,2})?)?[m|K]", "");
+
1256  const std::string hfill_tag = "{hfill}";
+
1257  const size_t hfill_pos = row.find(hfill_tag);
+
1258  const size_t raw_hfill_pos = raw_row.find(hfill_tag);
+
1259  const size_t nb_columns = std::max(std::min((size_t)_nb_columns, _hfill_max), _hfill_min);
+
1260  if(hfill_pos != std::string::npos) {
+
1261  assert(raw_hfill_pos != std::string::npos);
+
1262  if(nb_columns > 0) {
+
1263  const size_t left_len = raw_hfill_pos;
+
1264  const size_t right_len = raw_row.size() - raw_hfill_pos - hfill_tag.size();
+
1265  if(right_len+left_len > nb_columns) {
+
1266  // The right part would go over the terminal width: add a new row.
+
1267  if(right_len < nb_columns) {
+
1268  // There is room for the right part on a new line.
+
1269  const std::string hfill(std::max((size_t)0, nb_columns-right_len), _hfill_char);
+
1270  const std::string hfill_styled = _hfill_fmt(hfill);
+
1271  row = replace(row, "\\{hfill\\}", "\n"+hfill_styled);
+
1272  } else {
+
1273  // Right part still goes over columns: let it go.
+
1274  const std::string hfill(1, _hfill_char);
+
1275  const std::string hfill_styled = _hfill_fmt(hfill);
+
1276  row = replace(row, "\\{hfill\\}", "\n"+hfill_styled);
+
1277  }
+
1278  } else {
+
1279  // There is some space in between left and right parts.
+
1280  const std::string hfill(std::max((size_t)0, nb_columns - (right_len+left_len)), _hfill_char);
+
1281  const std::string hfill_styled = _hfill_fmt(hfill);
+
1282  row = replace(row, "\\{hfill\\}", hfill_styled);
+
1283  }
+
1284  } else {
+
1285  // We don't know the terminal width.
+
1286  const std::string hfill(1, _hfill_char);
+
1287  const std::string hfill_styled = _hfill_fmt(hfill);
+
1288  row = replace(row, "\\{hfill\\}", hfill_styled);
+
1289  }
+
1290  }
+
1291 #else
+
1292  // We cannot know the terminal width.
+
1293  const std::string hfill(1, _hfill_char);
+
1294  const std::string hfill_styled = _hfill_fmt(hfill);
+
1295  row = replace(row, "\\{hfill\\}", hfill_styled);
+
1296 #endif
+
1297  return _level_fmt.at(stage)(row);
+
1298  }
+
1299 
+
1301  void log(
+
1302  const level& stage,
+
1303  const std::string& what,
+
1304  const std::string& file, const std::string& func, size_t line
+
1305  ) const
+
1306  {
+
1307  scope_t scope = locate(stage, file, func, line);
+
1308 
+
1309  if(scope.matches) {
+
1310 #if CLUTCHLOG_HAVE_UNIX_SYSINFO == 1
+
1311  *_out << format(_format_log, what, basename(getenv("_")),
+
1312  stage, file, func,
+
1313  line, scope.depth );
+
1314 #else
+
1315  *_out << format(_format_log, what,
+
1316  stage, file, func,
+
1317  line );
+
1318 
+
1319 #endif
+
1320  _out->flush();
+
1321  } // if scopes.matches
+
1322  }
+
1323 
+
1325  template<class In>
+
1326  void dump(
+
1327  const level& stage,
+
1328  const In container_begin, const In container_end,
+
1329  const std::string& file, const std::string& func, size_t line,
+
1330  const std::string& filename_template = "dump_{n}.dat",
+
1331  const std::string sep = dump_default_sep
+
1332  ) const
+
1333  {
+
1334  scope_t scope = locate(stage, file, func, line);
1335 
-
1336  } else {
-
1337  // Use the parameter as is.
-
1338  outfile = filename_template;
-
1339  }
+
1336  if(scope.matches) {
+
1337  const std::string tag = "\\{n\\}";
+
1338  const std::regex re(tag);
+
1339  std::string outfile = "";
1340 
-
1341  std::ofstream fd(outfile);
-
1342 
-
1343  if(_format_dump.size() > 0) {
-
1344 #if CLUTCHLOG_HAVE_UNIX_SYSINFO == 1
-
1345  fd << format(_format_dump, "", basename(getenv("_")),
-
1346  stage, file, func,
-
1347  line, scope.depth );
-
1348 #else
-
1349  fd << format(_format_dump, "",
-
1350  stage, file, func,
-
1351  line );
-
1352 #endif
-
1353  fd << sep; // sep after comment line.
-
1354  }
-
1355 
-
1356  std::copy(container_begin, container_end,
-
1357  std::ostream_iterator<typename In::value_type>(fd, sep.c_str()));
-
1358 
-
1359  fd.close();
-
1360  } // if scopes.matches
-
1361  }
-
1362 
-
1364 };
-
1365 
-
1368 #else // not WITH_CLUTCHLOG
+
1341  // If the file name template has the {n} tag.
+
1342  if(std::regex_search(filename_template, re)) {
+
1343  // Increment n until a free one is found.
+
1344  size_t n = 0;
+
1345  do {
+
1346  outfile = replace(filename_template, tag, n);
+
1347  n++;
+
1348  } while( fs::exists( outfile ) );
+
1349 
+
1350  } else {
+
1351  // Use the parameter as is.
+
1352  outfile = filename_template;
+
1353  }
+
1354 
+
1355  std::ofstream fd(outfile);
+
1356 
+
1357  if(_format_dump.size() > 0) {
+
1358 #if CLUTCHLOG_HAVE_UNIX_SYSINFO == 1
+
1359  fd << format(_format_dump, "", basename(getenv("_")),
+
1360  stage, file, func,
+
1361  line, scope.depth );
+
1362 #else
+
1363  fd << format(_format_dump, "",
+
1364  stage, file, func,
+
1365  line );
+
1366 #endif
+
1367  fd << sep; // sep after comment line.
+
1368  }
1369 
-
1370 
-
1371 /**********************************************************************
-
1372  * Fake implementation
-
1373  **********************************************************************/
-
1374 
-
1375 // Equivalent class with empty methods, will be optimized out
-
1376 // while allowing to actually have calls implemented without WITH_CLUTCHLOG guards.
-
1377 #pragma GCC diagnostic push
-
1378 #pragma GCC diagnostic ignored "-Wreturn-type"
-
1379 class clutchlog
-
1380 {
-
1381  public:
-
1382  static clutchlog& logger() {}
-
1383  enum level {critical=0, error=1, warning=2, progress=3, note=4, info=5, debug=6, xdebug=7};
-
1384  class fmt {
-
1385  public:
-
1386  enum class ansi { colors_16, colors_256, colors_16M} mode;
-
1387  enum class typo { reset, bold, underline, inverse, none} style;
-
1388  enum class fg { black, red, green, yellow, blue, magenta, cyan, white, bright_black, bright_red, bright_green, bright_yellow, bright_blue, bright_magenta, bright_cyan, bright_white, none} fore;
-
1389  enum class bg { black, red, green, yellow, blue, magenta, cyan, white, bright_black, bright_red, bright_green, bright_yellow, bright_blue, bright_magenta, bright_cyan, bright_white, none } back;
-
1390  protected:
-
1391  friend std::ostream& operator<<(std::ostream&, const std::tuple<fg,bg,typo>&) {}
-
1392  friend std::ostream& operator<<(std::ostream&, const typo&) {}
-
1393  protected:
-
1394  struct color {
-
1395  ansi mode;
-
1396  enum class ground { fore, back } type;
-
1397  color(ansi a, ground g) : mode(a), type(g) {}
-
1398  virtual bool is_set() const = 0;
-
1399  virtual std::ostream& print_on( std::ostream&) const = 0;
-
1400  friend std::ostream& operator<<(std::ostream&, const color&) {}
-
1401  };
-
1402  struct color_256 : public color {
-
1403  short index;
-
1404  color_256(ground t) : color(ansi::colors_256, t), index(-1) {}
-
1405  color_256(ground t, const short i) : color(ansi::colors_256, t), index(i) {}
-
1406  bool is_set() const {}
-
1407  std::ostream& print_on( std::ostream&) const {}
-
1408  };
-
1409  struct fg_256 : public color_256 {
-
1410  fg_256() : color_256(ground::fore) {}
-
1411  fg_256(const short f) : color_256(ground::fore, f) {}
-
1412  fg_256(const fg&) : color_256(ground::fore, -1) {}
-
1413  } fore_256;
-
1414  struct bg_256 : public color_256 {
-
1415  bg_256() : color_256(ground::back) {}
-
1416  bg_256(const short b) : color_256(ground::back, b) {}
-
1417  bg_256(const bg&) : color_256(ground::back, -1) {}
-
1418  } back_256;
-
1419  struct color_16M : public color {
-
1420  short red, green, blue;
-
1421  color_16M(ground t) : color(ansi::colors_16M, t), red(-1), green(-1), blue(-1) {}
-
1422  color_16M(ground t, short r, short g, short b) : color(ansi::colors_16M, t), red(r), green(g), blue(b) {}
-
1423  color_16M(ground t, const std::string&) : color(ansi::colors_16M, t) {}
-
1424  bool is_set() const {return red > -1 and green > -1 and blue > -1;}
-
1425  std::ostream& print_on( std::ostream&) const {}
-
1426  };
-
1427  struct fg_16M : public color_16M {
-
1428  fg_16M() : color_16M(ground::fore) {}
-
1429  fg_16M(short r, short g, short b) : color_16M(ground::fore, r,g,b) {}
-
1430  fg_16M(const std::string& srgb) : color_16M(ground::fore, srgb) {}
-
1431  fg_16M(const fg&) : color_16M(ground::fore, -1,-1,-1) {}
-
1432  } fore_16M;
-
1433  struct bg_16M : public color_16M {
-
1434  bg_16M() : color_16M(ground::back) {}
-
1435  bg_16M(short r, short g, short b) : color_16M(ground::back, r,g,b) {}
-
1436  bg_16M(const std::string& srgb) : color_16M(ground::back, srgb) {}
-
1437  bg_16M(const bg&) : color_16M(ground::back, -1,-1,-1) {}
-
1438  } back_16M;
-
1439  public:
-
1440  fmt() : mode(ansi::colors_16), style(typo::none), fore(fg::none), back(bg::none) {}
-
1441  fmt( fg f, bg b = bg::none, typo s = typo::none) : mode(ansi::colors_16), style(s), fore(f), back(b) {}
-
1442  fmt( fg f, typo s , bg b = bg::none) : mode(ansi::colors_16), style(s), fore(f), back(b) {}
-
1443  fmt( bg b, fg f = fg::none, typo s = typo::none) : mode(ansi::colors_16), style(s), fore(f), back(b) {}
-
1444  fmt( bg b, typo s , fg f = fg::none) : mode(ansi::colors_16), style(s), fore(f), back(b) {}
-
1445  fmt(typo s, fg f = fg::none, bg b = bg::none) : mode(ansi::colors_16), style(s), fore(f), back(b) {}
-
1446  fmt(typo s, bg b , fg f = fg::none) : mode(ansi::colors_16), style(s), fore(f), back(b) {}
-
1447  fmt(fg_256 f, bg_256 b, typo s = typo::none) : mode(ansi::colors_256), style(s), fore_256(f), back_256(b) {}
-
1448  fmt(fg_256 f, typo s = typo::none) : mode(ansi::colors_256), style(s), fore_256(f), back_256(bg::none) {}
-
1449  fmt(fg, bg_256 b, typo s = typo::none) : mode(ansi::colors_256), style(s), fore_256(fg::none), back_256(b) {}
-
1450  fmt(const short fr, const short fg, const short fb,
-
1451  const short gr, const short gg, const short gb,
-
1452  typo s = typo::none)
-
1453  : mode(ansi::colors_16M), style(s), fore_16M(fr,fg,fb), back_16M(gr,gg,gb) {}
-
1454  fmt(fg,
-
1455  const short gr, const short gg, const short gb,
-
1456  typo s = typo::none)
-
1457  : mode(ansi::colors_16M), style(s), fore_16M(fg::none), back_16M(gr,gg,gb) {}
-
1458  fmt(const short fr, const short fg, const short fb,
-
1459  bg, typo s = typo::none)
-
1460  : mode(ansi::colors_16M), style(s), fore_16M(fr,fg,fb), back_16M(bg::none) {}
-
1461  fmt(const short fr, const short fg, const short fb,
-
1462  typo s = typo::none)
-
1463  : mode(ansi::colors_16M), style(s), fore_16M(fr,fg,fb), back_16M(bg::none) {}
-
1464 
-
1465  fmt(const std::string& f, const std::string& b, typo s = typo::none)
-
1466  : mode(ansi::colors_16M), style(s), fore_16M(f), back_16M(b) {}
-
1467  fmt(fg, const std::string& b, typo s = typo::none)
-
1468  : mode(ansi::colors_16M), style(s), fore_16M(fg::none), back_16M(b) {}
-
1469  fmt(const std::string& f, bg, typo s = typo::none)
-
1470  : mode(ansi::colors_16M), style(s), fore_16M(f), back_16M(bg::none) {}
-
1471  fmt(const std::string& f, typo s = typo::none)
-
1472  : mode(ansi::colors_16M), style(s), fore_16M(f), back_16M(bg::none) {}
-
1473  protected:
-
1474  std::ostream& print_on( std::ostream&) const {}
-
1475  public:
-
1476  friend std::ostream& operator<<(std::ostream&, const fmt&) {}
-
1477  std::string operator()( const std::string&) const {}
-
1478  std::string str() const {}
-
1479  };
-
1480  public:
-
1481  clutchlog(clutchlog const&) = delete;
-
1482  void operator=(clutchlog const&) = delete;
-
1483  private:
-
1484  clutchlog() {}
-
1485  protected:
-
1486  struct scope_t {};
-
1487  scope_t locate(
-
1488  const level&,
-
1489  const std::string&,
-
1490  const std::string&,
-
1491  const size_t
-
1492  ) const
-
1493  {}
+
1370  std::copy(container_begin, container_end,
+
1371  std::ostream_iterator<typename In::value_type>(fd, sep.c_str()));
+
1372 
+
1373  fd.close();
+
1374  } // if scopes.matches
+
1375  }
+
1376 
+
1378 };
+
1379 
+
1382 #else // not WITH_CLUTCHLOG
+
1383 
+
1384 
+
1385 /**********************************************************************
+
1386  * Fake implementation
+
1387  **********************************************************************/
+
1388 
+
1389 // Equivalent class with empty methods, will be optimized out
+
1390 // while allowing to actually have calls implemented without WITH_CLUTCHLOG guards.
+
1391 #pragma GCC diagnostic push
+
1392 #pragma GCC diagnostic ignored "-Wreturn-type"
+
1393 class clutchlog
+
1394 {
+
1395  public:
+
1396  static clutchlog& logger() {}
+
1397  enum level {critical=0, error=1, warning=2, progress=3, note=4, info=5, debug=6, xdebug=7};
+
1398  class fmt {
+
1399  public:
+
1400  enum class ansi { colors_16, colors_256, colors_16M} mode;
+
1401  enum class typo { reset, bold, underline, inverse, none} style;
+
1402  enum class fg { black, red, green, yellow, blue, magenta, cyan, white, bright_black, bright_red, bright_green, bright_yellow, bright_blue, bright_magenta, bright_cyan, bright_white, none} fore;
+
1403  enum class bg { black, red, green, yellow, blue, magenta, cyan, white, bright_black, bright_red, bright_green, bright_yellow, bright_blue, bright_magenta, bright_cyan, bright_white, none } back;
+
1404  protected:
+
1405  friend std::ostream& operator<<(std::ostream&, const std::tuple<fg,bg,typo>&) {}
+
1406  friend std::ostream& operator<<(std::ostream&, const typo&) {}
+
1407  protected:
+
1408  struct color {
+
1409  ansi mode;
+
1410  enum class ground { fore, back } type;
+
1411  color(ansi a, ground g) : mode(a), type(g) {}
+
1412  virtual bool is_set() const = 0;
+
1413  virtual std::ostream& print_on( std::ostream&) const = 0;
+
1414  friend std::ostream& operator<<(std::ostream&, const color&) {}
+
1415  };
+
1416  struct color_256 : public color {
+
1417  short index;
+
1418  color_256(ground t) : color(ansi::colors_256, t), index(-1) {}
+
1419  color_256(ground t, const short i) : color(ansi::colors_256, t), index(i) {}
+
1420  bool is_set() const {}
+
1421  std::ostream& print_on( std::ostream&) const {}
+
1422  };
+
1423  struct fg_256 : public color_256 {
+
1424  fg_256() : color_256(ground::fore) {}
+
1425  fg_256(const short f) : color_256(ground::fore, f) {}
+
1426  fg_256(const fg&) : color_256(ground::fore, -1) {}
+
1427  } fore_256;
+
1428  struct bg_256 : public color_256 {
+
1429  bg_256() : color_256(ground::back) {}
+
1430  bg_256(const short b) : color_256(ground::back, b) {}
+
1431  bg_256(const bg&) : color_256(ground::back, -1) {}
+
1432  } back_256;
+
1433  struct color_16M : public color {
+
1434  short red, green, blue;
+
1435  color_16M(ground t) : color(ansi::colors_16M, t), red(-1), green(-1), blue(-1) {}
+
1436  color_16M(ground t, short r, short g, short b) : color(ansi::colors_16M, t), red(r), green(g), blue(b) {}
+
1437  color_16M(ground t, const std::string&) : color(ansi::colors_16M, t) {}
+
1438  bool is_set() const {return red > -1 and green > -1 and blue > -1;}
+
1439  std::ostream& print_on( std::ostream&) const {}
+
1440  };
+
1441  struct fg_16M : public color_16M {
+
1442  fg_16M() : color_16M(ground::fore) {}
+
1443  fg_16M(short r, short g, short b) : color_16M(ground::fore, r,g,b) {}
+
1444  fg_16M(const std::string& srgb) : color_16M(ground::fore, srgb) {}
+
1445  fg_16M(const fg&) : color_16M(ground::fore, -1,-1,-1) {}
+
1446  } fore_16M;
+
1447  struct bg_16M : public color_16M {
+
1448  bg_16M() : color_16M(ground::back) {}
+
1449  bg_16M(short r, short g, short b) : color_16M(ground::back, r,g,b) {}
+
1450  bg_16M(const std::string& srgb) : color_16M(ground::back, srgb) {}
+
1451  bg_16M(const bg&) : color_16M(ground::back, -1,-1,-1) {}
+
1452  } back_16M;
+
1453  public:
+
1454  fmt() : mode(ansi::colors_16), style(typo::none), fore(fg::none), back(bg::none) {}
+
1455  fmt( fg f, bg b = bg::none, typo s = typo::none) : mode(ansi::colors_16), style(s), fore(f), back(b) {}
+
1456  fmt( fg f, typo s , bg b = bg::none) : mode(ansi::colors_16), style(s), fore(f), back(b) {}
+
1457  fmt( bg b, fg f = fg::none, typo s = typo::none) : mode(ansi::colors_16), style(s), fore(f), back(b) {}
+
1458  fmt( bg b, typo s , fg f = fg::none) : mode(ansi::colors_16), style(s), fore(f), back(b) {}
+
1459  fmt(typo s, fg f = fg::none, bg b = bg::none) : mode(ansi::colors_16), style(s), fore(f), back(b) {}
+
1460  fmt(typo s, bg b , fg f = fg::none) : mode(ansi::colors_16), style(s), fore(f), back(b) {}
+
1461  fmt(fg_256 f, bg_256 b, typo s = typo::none) : mode(ansi::colors_256), style(s), fore_256(f), back_256(b) {}
+
1462  fmt(fg_256 f, typo s = typo::none) : mode(ansi::colors_256), style(s), fore_256(f), back_256(bg::none) {}
+
1463  fmt(fg, bg_256 b, typo s = typo::none) : mode(ansi::colors_256), style(s), fore_256(fg::none), back_256(b) {}
+
1464  fmt(const short fr, const short fg, const short fb,
+
1465  const short gr, const short gg, const short gb,
+
1466  typo s = typo::none)
+
1467  : mode(ansi::colors_16M), style(s), fore_16M(fr,fg,fb), back_16M(gr,gg,gb) {}
+
1468  fmt(fg,
+
1469  const short gr, const short gg, const short gb,
+
1470  typo s = typo::none)
+
1471  : mode(ansi::colors_16M), style(s), fore_16M(fg::none), back_16M(gr,gg,gb) {}
+
1472  fmt(const short fr, const short fg, const short fb,
+
1473  bg, typo s = typo::none)
+
1474  : mode(ansi::colors_16M), style(s), fore_16M(fr,fg,fb), back_16M(bg::none) {}
+
1475  fmt(const short fr, const short fg, const short fb,
+
1476  typo s = typo::none)
+
1477  : mode(ansi::colors_16M), style(s), fore_16M(fr,fg,fb), back_16M(bg::none) {}
+
1478 
+
1479  fmt(const std::string& f, const std::string& b, typo s = typo::none)
+
1480  : mode(ansi::colors_16M), style(s), fore_16M(f), back_16M(b) {}
+
1481  fmt(fg, const std::string& b, typo s = typo::none)
+
1482  : mode(ansi::colors_16M), style(s), fore_16M(fg::none), back_16M(b) {}
+
1483  fmt(const std::string& f, bg, typo s = typo::none)
+
1484  : mode(ansi::colors_16M), style(s), fore_16M(f), back_16M(bg::none) {}
+
1485  fmt(const std::string& f, typo s = typo::none)
+
1486  : mode(ansi::colors_16M), style(s), fore_16M(f), back_16M(bg::none) {}
+
1487  protected:
+
1488  std::ostream& print_on( std::ostream&) const {}
+
1489  public:
+
1490  friend std::ostream& operator<<(std::ostream&, const fmt&) {}
+
1491  std::string operator()( const std::string&) const {}
+
1492  std::string str() const {}
+
1493  };
1494  public:
-
1495  void format(const std::string&) {}
-
1496  std::string format() const {}
-
1497 
-
1498  void format_comment(const std::string&) {}
-
1499  std::string format_comment() const {}
-
1500 
-
1501  void out(std::ostream&) {}
-
1502  std::ostream& out() {}
-
1503 
-
1504 #if CLUTCHLOG_HAVE_UNIX_SYSINFO == 1
-
1505  void depth(size_t) {}
-
1506  size_t depth() const {}
-
1507 
-
1508  void depth_mark(const std::string) {}
-
1509  std::string depth_mark() const {}
-
1510  void strip_calls(const size_t) {}
-
1511  size_t strip_calls() const {}
-
1512 #endif
-
1513 #if CLUTCHLOG_HAVE_UNIX_SYSIOCTL == 1
-
1514  void hfill_mark(const char) {}
-
1515  char hfill_mark() const {}
-
1516  void hfill_fmt(fmt) {}
-
1517  fmt hfill_fmt() const {}
-
1518  void hfill_min(const size_t) {}
-
1519  size_t hfill_min() {}
-
1520  void hfill_max(const size_t) {}
-
1521  size_t hfill_max() {}
-
1522 #endif
-
1523 
-
1524  void threshold(level) {}
-
1525  void threshold(const std::string&) {}
-
1526  level threshold() const {}
-
1527  const std::map<std::string,level> levels() const {}
-
1528  level level_of(const std::string) {}
-
1529 
-
1530  void file(std::string) {}
-
1531  void func(std::string) {}
-
1532  void line(std::string) {}
-
1533 
-
1534 #pragma GCC diagnostic push
-
1535 #pragma GCC diagnostic ignored "-Wunused-parameter"
-
1536  void location(
-
1537  const std::string&,
-
1538  const std::string& in_function=".*",
-
1539  const std::string& in_line=".*"
-
1540  )
-
1541  {}
-
1542 #pragma GCC diagnostic pop
-
1543  template<class ... FMT>
-
1544  void style(level, FMT...) {}
-
1545  void style(level, fmt) {}
-
1546  fmt style(level) const {}
-
1547  public:
-
1548  std::string replace(
-
1549  const std::string&,
-
1550  const std::string&,
-
1551  const std::string&
-
1552  ) const
-
1553  {}
-
1554 
-
1555  std::string replace(
-
1556  const std::string&,
-
1557  const std::string&,
-
1558  const size_t
-
1559  ) const
-
1560  {}
-
1561 
-
1562  std::string format(
-
1563  std::string,
+
1495  clutchlog(clutchlog const&) = delete;
+
1496  void operator=(clutchlog const&) = delete;
+
1497  private:
+
1498  clutchlog() {}
+
1499  protected:
+
1500  struct scope_t {};
+
1501  scope_t locate(
+
1502  const level&,
+
1503  const std::string&,
+
1504  const std::string&,
+
1505  const size_t
+
1506  ) const
+
1507  {}
+
1508  public:
+
1509  void format(const std::string&) {}
+
1510  std::string format() const {}
+
1511 
+
1512  void format_comment(const std::string&) {}
+
1513  std::string format_comment() const {}
+
1514 
+
1515  void out(std::ostream&) {}
+
1516  std::ostream& out() {}
+
1517 
+
1518 #if CLUTCHLOG_HAVE_UNIX_SYSINFO == 1
+
1519  void depth(size_t) {}
+
1520  size_t depth() const {}
+
1521 
+
1522  void depth_mark(const std::string) {}
+
1523  std::string depth_mark() const {}
+
1524  void strip_calls(const size_t) {}
+
1525  size_t strip_calls() const {}
+
1526 #endif
+
1527 #if CLUTCHLOG_HAVE_UNIX_SYSIOCTL == 1
+
1528  void hfill_mark(const char) {}
+
1529  char hfill_mark() const {}
+
1530  void hfill_fmt(fmt) {}
+
1531  fmt hfill_fmt() const {}
+
1532  void hfill_min(const size_t) {}
+
1533  size_t hfill_min() {}
+
1534  void hfill_max(const size_t) {}
+
1535  size_t hfill_max() {}
+
1536 #endif
+
1537 
+
1538  void threshold(level) {}
+
1539  void threshold(const std::string&) {}
+
1540  level threshold() const {}
+
1541  const std::map<std::string,level> levels() const {}
+
1542  level level_of(const std::string) {}
+
1543 
+
1544  void file(std::string) {}
+
1545  void func(std::string) {}
+
1546  void line(std::string) {}
+
1547 
+
1548 #pragma GCC diagnostic push
+
1549 #pragma GCC diagnostic ignored "-Wunused-parameter"
+
1550  void location(
+
1551  const std::string&,
+
1552  const std::string& in_function=".*",
+
1553  const std::string& in_line=".*"
+
1554  )
+
1555  {}
+
1556 #pragma GCC diagnostic pop
+
1557  template<class ... FMT>
+
1558  void style(level, FMT...) {}
+
1559  void style(level, fmt) {}
+
1560  fmt style(level) const {}
+
1561  public:
+
1562  std::string replace(
+
1563  const std::string&,
1564  const std::string&,
-
1565 #if CLUTCHLOG_HAVE_UNIX_SYSINFO == 1
-
1566  const std::string&,
-
1567 #endif
-
1568  const level&,
-
1569  const std::string&,
+
1565  const std::string&
+
1566  ) const
+
1567  {}
+
1568 
+
1569  std::string replace(
1570  const std::string&,
-
1571  const size_t
-
1572 #if CLUTCHLOG_HAVE_UNIX_SYSINFO == 1
-
1573  ,
-
1574  const size_t
-
1575 #endif
-
1576  ) const
-
1577  {}
-
1578 
-
1579  void log(
-
1580  const level&,
-
1581  const std::string&,
-
1582  const std::string&, const std::string&, size_t
-
1583  ) const
-
1584  {}
-
1585 
-
1586  template<class In>
-
1587  void dump(
-
1588  const level&,
-
1589  const In, const In,
-
1590  const std::string&, const std::string&, size_t,
-
1591  const std::string&,
-
1592  const std::string
-
1593  ) const
-
1594  {}
-
1595 };
-
1596 #pragma GCC diagnostic pop
-
1597 #endif // WITH_CLUTCHLOG
-
1598 
-
1599 #endif // CLUTCHLOG_H
+
1571  const std::string&,
+
1572  const size_t
+
1573  ) const
+
1574  {}
+
1575 
+
1576  std::string format(
+
1577  std::string,
+
1578  const std::string&,
+
1579 #if CLUTCHLOG_HAVE_UNIX_SYSINFO == 1
+
1580  const std::string&,
+
1581 #endif
+
1582  const level&,
+
1583  const std::string&,
+
1584  const std::string&,
+
1585  const size_t
+
1586 #if CLUTCHLOG_HAVE_UNIX_SYSINFO == 1
+
1587  ,
+
1588  const size_t
+
1589 #endif
+
1590  ) const
+
1591  {}
+
1592 
+
1593  void log(
+
1594  const level&,
+
1595  const std::string&,
+
1596  const std::string&, const std::string&, size_t
+
1597  ) const
+
1598  {}
+
1599 
+
1600  template<class In>
+
1601  void dump(
+
1602  const level&,
+
1603  const In, const In,
+
1604  const std::string&, const std::string&, size_t,
+
1605  const std::string&,
+
1606  const std::string
+
1607  ) const
+
1608  {}
+
1609 };
+
1610 #pragma GCC diagnostic pop
+
1611 #endif // WITH_CLUTCHLOG
+
1612 
+
1613 #endif // CLUTCHLOG_H
friend std::ostream & operator<<(std::ostream &os, const std::tuple< fg, bg, typo > &fbs)
Output stream operator for a 3-tuple of 16-colors mode tags.
Definition: clutchlog.h:433
static std::string default_depth_mark
Default mark for stack depth.
Definition: clutchlog.h:249
-
std::string _format_log
Current format of the standard output.
Definition: clutchlog.h:887
+
std::string _format_log
Current format of the standard output.
Definition: clutchlog.h:899
color_16M(ground t, const std::string &srgb)
Hex triplet string constructor.
Definition: clutchlog.h:601
-
std::map< level, fmt > _level_fmt
Dictionary of level identifier to their format.
Definition: clutchlog.h:885
-
void log(const level &stage, const std::string &what, const std::string &file, const std::string &func, size_t line) const
Print a log message IF the location matches the given one.
Definition: clutchlog.h:1287
+
std::map< level, fmt > _level_fmt
Dictionary of level identifier to their format.
Definition: clutchlog.h:897
+
void log(const level &stage, const std::string &what, const std::string &file, const std::string &func, size_t line) const
Print a log message IF the location matches the given one.
Definition: clutchlog.h:1301
enum clutchlog::fmt::bg back
Background color.
std::string str() const
Return the formatting code as a string.
Definition: clutchlog.h:807
Foreground in 256-colors mode.
Definition: clutchlog.h:539
-
void line(std::string line)
Set the regular expression filtering the line location.
Definition: clutchlog.h:1017
+
void line(std::string line)
Set the regular expression filtering the line location.
Definition: clutchlog.h:1029
friend std::ostream & operator<<(std::ostream &os, const color &c)
Print the actually encoded escaped color sequence on the given stream.
Definition: clutchlog.h:493
friend std::ostream & operator<<(std::ostream &os, const typo &s)
Output stream operator for a typo tag alone, in 16-colors mode.
Definition: clutchlog.h:455
static std::string dump_default_format
Default format of the comment line in file dump.
Definition: clutchlog.h:235
-
void out(std::ostream &out)
Set the output stream on which to print.
Definition: clutchlog.h:944
+
void out(std::ostream &out)
Set the output stream on which to print.
Definition: clutchlog.h:956
bool is_set() const
Returns true if the underying representation encodes an existing color.
Definition: clutchlog.h:623
fg_16M(const fg &)
Conversion constructor from 16-colors mode.
Definition: clutchlog.h:659
static std::string dump_default_sep
Default item separator for dump.
Definition: clutchlog.h:242
-
std::string format(std::string row, const std::string &what, const level &stage, const std::string &file, const std::string &func, const size_t line) const
Substitute all tags in the format string with the corresponding information and apply the style corre...
Definition: clutchlog.h:1201
+
std::string format(std::string row, const std::string &what, const level &stage, const std::string &file, const std::string &func, const size_t line) const
Substitute all tags in the format string with the corresponding information and apply the style corre...
Definition: clutchlog.h:1213
Background in 256-colors mode.
Definition: clutchlog.h:556
#define CLUTCHLOG_DEFAULT_DEPTH_MARK
Compile-time default mark for stack depth.
Definition: clutchlog.h:246
static unsigned int default_strip_calls
Number of call stack levels to remove from depth display by default.
Definition: clutchlog.h:256
static size_t default_hfill_min
Default minimum width (number of characters) at which to fill for right-aligning the right part of me...
Definition: clutchlog.h:277
-
std::string replace(const std::string &form, const std::string &mark, const std::string &tag) const
Replace mark by tag in form.
Definition: clutchlog.h:1125
+
std::string replace(const std::string &form, const std::string &mark, const std::string &tag) const
Replace mark by tag in form.
Definition: clutchlog.h:1137
color_256(ground t)
Constructor.
Definition: clutchlog.h:518
clutchlog::fmt::bg_16M back_16M
Current background in 16M-colors mode.
Interface class for colors representation.
Definition: clutchlog.h:470
@ colors_16
16 colors mode.
background in 256-colors mode.
Definition: clutchlog.h:664
static char default_hfill_char
Default character used as a filling for right-align the right part of messages with "{hfill}".
Definition: clutchlog.h:263
-
bool matches
Everything is compatible.
Definition: clutchlog.h:1052
+
bool matches
Everything is compatible.
Definition: clutchlog.h:1064
enum clutchlog::fmt::typo style
Typographic style.
Abstract base class for 16M colors objects (24-bits ANSI).
Definition: clutchlog.h:573
fg_256(const fg &)
Conversion constructor from 16-colors mode.
Definition: clutchlog.h:551
-
void format_comment(const std::string &format)
Set the template string for dumps.
Definition: clutchlog.h:939
+
void format_comment(const std::string &format)
Set the template string for dumps.
Definition: clutchlog.h:951
bg_16M(const std::string &srgb)
Hex triplet string constructor.
Definition: clutchlog.h:684
-
void file(std::string file)
Set the regular expression filtering the file location.
Definition: clutchlog.h:1013
-
scope_t locate(const level &stage, const std::string &file, const std::string &func, const size_t line) const
Gather information on the current location of the call.
Definition: clutchlog.h:1074
+
void file(std::string file)
Set the regular expression filtering the file location.
Definition: clutchlog.h:1025
+
scope_t locate(const level &stage, const std::string &file, const std::string &func, const size_t line) const
Gather information on the current location of the call.
Definition: clutchlog.h:1086
clutchlog::fmt::fg_16M fore_16M
Current foreground in 16M-colors mode.
Abstract base class for 256 colors objects (8-bits ANSI).
Definition: clutchlog.h:509
fmt()
Empty constructor, only useful for a no-op formatter.
Definition: clutchlog.h:697
-
void style(level stage, fmt style)
Set the style (color and typo) of the given log level, passing a fmt instance.
Definition: clutchlog.h:1038
-
void threshold(level l)
Set the log level (below which logs are not printed) with an identifier.
Definition: clutchlog.h:990
-
level threshold() const
Get the log level below which logs are not printed.
Definition: clutchlog.h:994
+
void style(level stage, fmt style)
Set the style (color and typo) of the given log level, passing a fmt instance.
Definition: clutchlog.h:1050
+
void threshold(level l)
Set the log level (below which logs are not printed) with an identifier.
Definition: clutchlog.h:1002
+
level threshold() const
Get the log level below which logs are not printed.
Definition: clutchlog.h:1006
virtual bool is_set() const =0
Should return true if the underying representation encodes an existing color.
+
std::map< level, std::string > _level_short
dictionary of level identifier to their 4-letters representation.
Definition: clutchlog.h:895
level
Available log levels.
Definition: clutchlog.h:303
color_256(ground t, const short i)
Constructor.
Definition: clutchlog.h:525
std::ostream & print_on(std::ostream &os) const
Print the color index on the given stream.
Definition: clutchlog.h:531
color_16M(ground t)
Constructor.
Definition: clutchlog.h:582
static size_t default_hfill_max
Default maximum width (number of characters) for which to fill for right-aligning the right part of m...
Definition: clutchlog.h:275
-
scope_t()
Constructor.
Definition: clutchlog.h:1062
-
std::regex _in_func
Current function location filter.
Definition: clutchlog.h:913
+
scope_t()
Constructor.
Definition: clutchlog.h:1074
+
std::regex _in_func
Current function location filter.
Definition: clutchlog.h:925
static std::string default_format
Default format of the messages.
Definition: clutchlog.h:213
bg_16M(short r, short g, short b)
Numeric triplet constructor.
Definition: clutchlog.h:676
static clutchlog & logger()
Get the logger instance.
Definition: clutchlog.h:296
Foreground in 256-colors mode.
Definition: clutchlog.h:634
-
void dump(const level &stage, const In container_begin, const In container_end, const std::string &file, const std::string &func, size_t line, const std::string &filename_template="dump_{n}.dat", const std::string sep=dump_default_sep) const
Dump a serializable container after a comment line with log information.
Definition: clutchlog.h:1312
+
void dump(const level &stage, const In container_begin, const In container_end, const std::string &file, const std::string &func, size_t line, const std::string &filename_template="dump_{n}.dat", const std::string sep=dump_default_sep) const
Dump a serializable container after a comment line with log information.
Definition: clutchlog.h:1326
clutchlog::fmt::fg_256 fore_256
Current foreground in 256-colors mode.
enum clutchlog::fmt::fg fore
Foreground color.
enum clutchlog::fmt::color::ground type
Type of color (foreground or background).
Color and style formatter for ANSI terminal escape sequences.
Definition: clutchlog.h:366
short index
The encoded color index in 4-bits ANSI.
Definition: clutchlog.h:513
bg_256()
Empty constructor: no color.
Definition: clutchlog.h:558
-
void func(std::string func)
Set the regular expression filtering the function location.
Definition: clutchlog.h:1015
-
std::string format() const
Get the template string.
Definition: clutchlog.h:936
-
std::regex _in_file
Current file location filter.
Definition: clutchlog.h:911
-
void style(level stage, FMT... styles)
Set the style (color and typo) of the given log level.
Definition: clutchlog.h:1036
+
void func(std::string func)
Set the regular expression filtering the function location.
Definition: clutchlog.h:1027
+
std::string format() const
Get the template string.
Definition: clutchlog.h:948
+
std::regex _in_file
Current file location filter.
Definition: clutchlog.h:923
+
void style(level stage, FMT... styles)
Set the style (color and typo) of the given log level.
Definition: clutchlog.h:1048
bg_256(const bg &)
Conversion constructor from 16-colors mode.
Definition: clutchlog.h:568
fg_16M()
Empty constructor: no color.
Definition: clutchlog.h:636
-
level level_of(const std::string name)
Return the log level tag corresponding to the given pre-configured name.
Definition: clutchlog.h:1002
-
const std::map< level, std::string > _level_word
Dictionary of level identifier to their string representation.
Definition: clutchlog.h:881
+
level level_of(const std::string name)
Return the log level tag corresponding to the given pre-configured name.
Definition: clutchlog.h:1014
+
const std::map< level, std::string > _level_word
Dictionary of level identifier to their string representation.
Definition: clutchlog.h:891
std::string operator()(const std::string &msg) const
Format the given string with the currently encoded format.
Definition: clutchlog.h:795
color_16M(ground t, short r, short g, short b)
Numeric triplet constructor.
Definition: clutchlog.h:591
std::ostream & print_on(std::ostream &os) const
Print the color RGB triplet on the given stream.
Definition: clutchlog.h:626
bg
Background color codes.
Definition: clutchlog.h:411
#define CLUTCHLOG_DEFAULT_FORMAT
Compile-time default format of the messages (debug mode: with absolute location).
Definition: clutchlog.h:198
-
std::regex _in_line
Current line location filter.
Definition: clutchlog.h:915
+
std::regex _in_line
Current line location filter.
Definition: clutchlog.h:927
fg_256(const short f)
Constructor.
Definition: clutchlog.h:546
@ colors_256
256 colors mode.
enum clutchlog::fmt::ansi mode
Current ANSI color mode.
-
std::string replace(const std::string &form, const std::string &mark, const size_t tag) const
Replace mark by tag in form, converting tag to its string representation first.
Definition: clutchlog.h:1190
-
std::string format_comment() const
Get the template string for dumps.
Definition: clutchlog.h:941
+
std::string replace(const std::string &form, const std::string &mark, const size_t tag) const
Replace mark by tag in form, converting tag to its string representation first.
Definition: clutchlog.h:1202
+
std::string format_comment() const
Get the template string for dumps.
Definition: clutchlog.h:953
fg_256()
Empty constructor: no color.
Definition: clutchlog.h:541
@ colors_16M
16 millions ("true") colors mode.
-
std::string _format_dump
Current format of the file output.
Definition: clutchlog.h:889
+
std::string _format_dump
Current format of the file output.
Definition: clutchlog.h:901
#define CLUTCHDUMP_DEFAULT_SEP
Compile-time default item separator for dump.
Definition: clutchlog.h:239
bg_256(const short b)
Constructor.
Definition: clutchlog.h:563
ground
Codes for representing foreground or background.
Definition: clutchlog.h:474
-
Structure holding a location matching.
Definition: clutchlog.h:1050
+
Structure holding a location matching.
Definition: clutchlog.h:1062
#define CLUTCHLOG_DEFAULT_HFILL_MARK
Character used as a filling for right-align the right part of messages with "{hfill}".
Definition: clutchlog.h:260
std::ostream & print_on(std::ostream &os) const
Print the currently encoded format escape code on the given output stream.
Definition: clutchlog.h:746
bool is_set() const
Returns true if the underying representation encodes an existing color.
Definition: clutchlog.h:528
-
std::ostream * _out
Standard output.
Definition: clutchlog.h:901
-
std::ostream & out()
Get the output stream on which to print.
Definition: clutchlog.h:946
-
void threshold(const std::string &l)
Set the log level (below which logs are not printed) with a string.
Definition: clutchlog.h:992
+
std::ostream * _out
Standard output.
Definition: clutchlog.h:913
+
std::ostream & out()
Get the output stream on which to print.
Definition: clutchlog.h:958
+
void threshold(const std::string &l)
Set the log level (below which logs are not printed) with a string.
Definition: clutchlog.h:1004
virtual std::ostream & print_on(std::ostream &os) const =0
Should print the underlying representation on the given stream.
-
const std::map< std::string, level > & levels() const
Get the map of available log levels string representations toward their identifier....
Definition: clutchlog.h:996
-
size_t _strip_calls
Current number of call stack levels to remove from depth display.
Definition: clutchlog.h:879
-
level stage
Current log level.
Definition: clutchlog.h:1054
-
bool there
Location is compatible.
Definition: clutchlog.h:1060
+
const std::map< std::string, level > & levels() const
Get the map of available log levels string representations toward their identifier....
Definition: clutchlog.h:1008
+
size_t _strip_calls
Current number of call stack levels to remove from depth display.
Definition: clutchlog.h:889
+
level stage
Current log level.
Definition: clutchlog.h:1066
+
bool there
Location is compatible.
Definition: clutchlog.h:1072
fg_16M(const std::string &srgb)
Hex triplet string constructor.
Definition: clutchlog.h:654
#define CLUTCHLOG_STRIP_CALLS
Compile-time number of call stack levels to remove from depth display by default.
Definition: clutchlog.h:253
friend std::ostream & operator<<(std::ostream &os, const fmt &fmt)
Output stream overload.
Definition: clutchlog.h:780
bg_16M(const bg &)
Conversion constructor from 16-colors mode.
Definition: clutchlog.h:689
bg_16M()
Empty constructor: no color.
Definition: clutchlog.h:666
-
std::map< std::string, level > _word_level
Dictionary of level string to their identifier.
Definition: clutchlog.h:883
-
level _stage
Current log level.
Definition: clutchlog.h:909
-
fmt style(level stage) const
Get the configured fmt instance of the given log level.
Definition: clutchlog.h:1040
+
std::map< std::string, level > _word_level
Dictionary of level string to their identifier.
Definition: clutchlog.h:893
+
level _stage
Current log level.
Definition: clutchlog.h:921
+
fmt style(level stage) const
Get the configured fmt instance of the given log level.
Definition: clutchlog.h:1052
typo
Typographic style codes.
Definition: clutchlog.h:379
-
void location(const std::string &in_file, const std::string &in_function=".*", const std::string &in_line=".*")
Set the regular expressions filtering the location.
Definition: clutchlog.h:1020
+
void location(const std::string &in_file, const std::string &in_function=".*", const std::string &in_line=".*")
Set the regular expressions filtering the location.
Definition: clutchlog.h:1032
#define CLUTCHLOG_HAVE_UNIX_SYSINFO
True if POSIX headers necessary for stack depth management are available.
Definition: clutchlog.h:33
The single class which holds everything.
Definition: clutchlog.h:177
ansi
ANSI code configuring the available number of colors.
Definition: clutchlog.h:369
diff --git a/docs/dir_000001_000000.html b/docs/dir_000001_000000.html index 0cc4c4c..ab77e39 100644 --- a/docs/dir_000001_000000.html +++ b/docs/dir_000001_000000.html @@ -84,7 +84,7 @@ $(document).ready(function(){initNavTree('dir_59425e443f801f1f2fd8bbe4959a3ccf.h
-

tests → clutchlog Relation

File in testsIncludes file in clutchlog
t-assert.cppclutchlog.h
t-color.cppclutchlog.h
t-color16M.cppclutchlog.h
t-color256.cppclutchlog.h
t-demo.cppclutchlog.h
t-dump.cppclutchlog.h
t-fmt-constructors.cppclutchlog.h
t-log.cppclutchlog.h
t-one-line-if.cppclutchlog.h
+

tests → clutchlog Relation

File in testsIncludes file in clutchlog
t-assert.cppclutchlog.h
t-color.cppclutchlog.h
t-color16M.cppclutchlog.h
t-color256.cppclutchlog.h
t-demo-extravagant.cppclutchlog.h
t-demo.cppclutchlog.h
t-dump.cppclutchlog.h
t-fmt-constructors.cppclutchlog.h
t-log.cppclutchlog.h
t-one-line-if.cppclutchlog.h
diff --git a/docs/dir_59425e443f801f1f2fd8bbe4959a3ccf_dep.map b/docs/dir_59425e443f801f1f2fd8bbe4959a3ccf_dep.map index 822f0ff..1a7c8b4 100644 --- a/docs/dir_59425e443f801f1f2fd8bbe4959a3ccf_dep.map +++ b/docs/dir_59425e443f801f1f2fd8bbe4959a3ccf_dep.map @@ -1,5 +1,5 @@ - + diff --git a/docs/dir_59425e443f801f1f2fd8bbe4959a3ccf_dep.md5 b/docs/dir_59425e443f801f1f2fd8bbe4959a3ccf_dep.md5 index 02d5eb8..1c6fad9 100644 --- a/docs/dir_59425e443f801f1f2fd8bbe4959a3ccf_dep.md5 +++ b/docs/dir_59425e443f801f1f2fd8bbe4959a3ccf_dep.md5 @@ -1 +1 @@ -898e9fe86e58c83c8b2acb43f3d5c59b \ No newline at end of file +85501d07f252f4cafc04b7ed02612fff \ No newline at end of file diff --git a/docs/dir_59425e443f801f1f2fd8bbe4959a3ccf_dep.svg b/docs/dir_59425e443f801f1f2fd8bbe4959a3ccf_dep.svg index 0a914a4..791a1a5 100644 --- a/docs/dir_59425e443f801f1f2fd8bbe4959a3ccf_dep.svg +++ b/docs/dir_59425e443f801f1f2fd8bbe4959a3ccf_dep.svg @@ -32,8 +32,8 @@ dir_59425e443f801f1f2fd8bbe4959a3ccf->dir_c318bd5cf14aaa5601e6029e0b5b4048 - -9 + +10 diff --git a/docs/files.html b/docs/files.html index d9d05bd..a75a6c4 100644 --- a/docs/files.html +++ b/docs/files.html @@ -95,11 +95,12 @@ $(document).ready(function(){initNavTree('files.html',''); initResizable(); });  t-color.cpp  t-color16M.cpp  t-color256.cpp - t-demo.cpp - t-dump.cpp - t-fmt-constructors.cpp - t-log.cpp - t-one-line-if.cpp + t-demo-extravagant.cpp + t-demo.cpp + t-dump.cpp + t-fmt-constructors.cpp + t-log.cpp + t-one-line-if.cpp diff --git a/docs/files_dup.js b/docs/files_dup.js index 87f1b4c..3108fba 100644 --- a/docs/files_dup.js +++ b/docs/files_dup.js @@ -5,6 +5,7 @@ var files_dup = [ "t-color.cpp", "t-color_8cpp_source.html", null ], [ "t-color16M.cpp", "t-color16_m_8cpp_source.html", null ], [ "t-color256.cpp", "t-color256_8cpp_source.html", null ], + [ "t-demo-extravagant.cpp", "t-demo-extravagant_8cpp_source.html", null ], [ "t-demo.cpp", "t-demo_8cpp_source.html", null ], [ "t-dump.cpp", "t-dump_8cpp_source.html", null ], [ "t-fmt-constructors.cpp", "t-fmt-constructors_8cpp_source.html", null ], diff --git a/docs/functions.html b/docs/functions.html index 596e2c3..00430ab 100644 --- a/docs/functions.html +++ b/docs/functions.html @@ -105,6 +105,9 @@ $(document).ready(function(){initNavTree('functions.html',''); initResizable();
  • _level_fmt : clutchlog
  • +
  • _level_short +: clutchlog +
  • _level_word : clutchlog
  • diff --git a/docs/functions_vars.html b/docs/functions_vars.html index 3c355d7..189a389 100644 --- a/docs/functions_vars.html +++ b/docs/functions_vars.html @@ -105,6 +105,9 @@ $(document).ready(function(){initNavTree('functions_vars.html',''); initResizabl
  • _level_fmt : clutchlog
  • +
  • _level_short +: clutchlog +
  • _level_word : clutchlog
  • diff --git a/docs/group___main.js b/docs/group___main.js index 21f8906..f4cc55e 100644 --- a/docs/group___main.js +++ b/docs/group___main.js @@ -51,6 +51,7 @@ var group___main = [ "_strip_calls", "classclutchlog.html#a356df86455409193792b6ed550dfd09e", null ], [ "_level_word", "classclutchlog.html#ab1c377a376e6772fe1746ff7147c125f", null ], [ "_word_level", "classclutchlog.html#abd4625bf211bfbaa30d9c126fa3d7888", null ], + [ "_level_short", "classclutchlog.html#a08e8a817a75a4e9f0159231c941e0dae", null ], [ "_level_fmt", "classclutchlog.html#ab805ac5c33885459f9f752518a4aa735", null ], [ "_format_log", "classclutchlog.html#a7c6e3fc082bc6f55d50131ed2b32e81e", null ], [ "_format_dump", "classclutchlog.html#a5f4ddb57ce42e8be86a7c7d269f7bae5", null ], diff --git a/docs/index.html b/docs/index.html index 38f626a..78e4023 100644 --- a/docs/index.html +++ b/docs/index.html @@ -159,7 +159,9 @@ Example
    log.threshold("Info"); // Log only "info", "warning", "error" or "critical" messages.
    log.file("algebra/.*"); // Will match any file in the "algebra" directory.
    log.func("(mul|add|sub|div)"); // Will match "multiply", for instance.
    -

    For more detailled examples, see the "Usage" sections below and the tests directory.

    +

    Example of a real-life log session (as seen in the frictionlesser software): A log screen capture with full details, showing colored messages and location.

    +

    Demo showing fancy styling: A log screen capture showing fancy coloring of text lines.

    +

    For more detailled examples, see the "Usage" sections below and the tests directory.

    Rationale

    Most of existing logging systems targets service events storage, like fast queuing of transactions in a round-robin database. Their aim is to provide a simple interface to efficiently store messages somewhere, which is appropriated when you have a well known service running and you want to be able to trace complex users interactions across its states.

    @@ -224,6 +226,7 @@ Output Configuration
  • {msg}: the logged message,
  • {level}: the current log level (i.e. Critical, Error, Warning, Progress, Note, Info, Debug or XDebug),
  • {level_letter}: the first letter of the current log level,
  • +
  • {level_short}: the current log level, printed in only four letters,
  • {file}: the current file (absolute path),
  • {func}: the current function,
  • {line}: the current line number,
  • diff --git a/docs/navtreedata.js b/docs/navtreedata.js index b728302..098ec9a 100644 --- a/docs/navtreedata.js +++ b/docs/navtreedata.js @@ -81,7 +81,7 @@ var NAVTREE = var NAVTREEINDEX = [ "annotated.html", -"structclutchlog_1_1fmt_1_1color__16_m.html#a674910195e7bb14d78f0cf56c308a47e" +"structclutchlog_1_1fmt_1_1color__16_m.html#a55e39e7eb3ced3095c00914eff52470c" ]; var SYNCONMSG = 'click to disable panel synchronisation'; diff --git a/docs/navtreeindex0.js b/docs/navtreeindex0.js index 0a4b48a..7f3b999 100644 --- a/docs/navtreeindex0.js +++ b/docs/navtreeindex0.js @@ -3,45 +3,46 @@ var NAVTREEINDEX0 = "annotated.html":[2,0], "classclutchlog.html":[1,2,0], "classclutchlog.html#a03b145e36f15435a640bb5a885d9f642":[1,2,0,7], +"classclutchlog.html#a08e8a817a75a4e9f0159231c941e0dae":[1,2,0,45], "classclutchlog.html#a0906d74275cedcd403da94879764815e":[1,2,0,6], "classclutchlog.html#a0c4ac57601e6f8d146fd5cc060968ecc":[1,2,0,34], "classclutchlog.html#a10064493c22f5c03b502a42d814c5c5c":[1,2,0,21], -"classclutchlog.html#a10fd25a1b51c8c95bd6d876ce1b4b928":[1,2,0,53], -"classclutchlog.html#a10fd25a1b51c8c95bd6d876ce1b4b928a023c3e8a55ddfd140d3e3268dd6221e9":[1,2,0,53,1], -"classclutchlog.html#a10fd25a1b51c8c95bd6d876ce1b4b928a6efd7b28f876c0473c6dfeae82fc8e05":[1,2,0,53,3], -"classclutchlog.html#a10fd25a1b51c8c95bd6d876ce1b4b928a911f5ef324f37061f68a239577e0d0bd":[1,2,0,53,6], -"classclutchlog.html#a10fd25a1b51c8c95bd6d876ce1b4b928aa1ea607f2bfe5db06f1cf2bd991f7dc1":[1,2,0,53,5], -"classclutchlog.html#a10fd25a1b51c8c95bd6d876ce1b4b928aab4ce1a501f9cbe27666659d3b19534c":[1,2,0,53,2], -"classclutchlog.html#a10fd25a1b51c8c95bd6d876ce1b4b928abba74b810831c7753777e6dcc0c0f4e2":[1,2,0,53,7], -"classclutchlog.html#a10fd25a1b51c8c95bd6d876ce1b4b928af332f31a368c931f79b9b64d55fc7701":[1,2,0,53,0], -"classclutchlog.html#a10fd25a1b51c8c95bd6d876ce1b4b928af89a12aab2a73ea31e19b04ecadbdc0d":[1,2,0,53,4], -"classclutchlog.html#a130c4f12eacbd2028102838fe16b734e":[1,2,0,51], -"classclutchlog.html#a1896f6c4b8597e3e76ff93970bd85167":[1,2,0,48], +"classclutchlog.html#a10fd25a1b51c8c95bd6d876ce1b4b928":[1,2,0,54], +"classclutchlog.html#a10fd25a1b51c8c95bd6d876ce1b4b928a023c3e8a55ddfd140d3e3268dd6221e9":[1,2,0,54,1], +"classclutchlog.html#a10fd25a1b51c8c95bd6d876ce1b4b928a6efd7b28f876c0473c6dfeae82fc8e05":[1,2,0,54,3], +"classclutchlog.html#a10fd25a1b51c8c95bd6d876ce1b4b928a911f5ef324f37061f68a239577e0d0bd":[1,2,0,54,6], +"classclutchlog.html#a10fd25a1b51c8c95bd6d876ce1b4b928aa1ea607f2bfe5db06f1cf2bd991f7dc1":[1,2,0,54,5], +"classclutchlog.html#a10fd25a1b51c8c95bd6d876ce1b4b928aab4ce1a501f9cbe27666659d3b19534c":[1,2,0,54,2], +"classclutchlog.html#a10fd25a1b51c8c95bd6d876ce1b4b928abba74b810831c7753777e6dcc0c0f4e2":[1,2,0,54,7], +"classclutchlog.html#a10fd25a1b51c8c95bd6d876ce1b4b928af332f31a368c931f79b9b64d55fc7701":[1,2,0,54,0], +"classclutchlog.html#a10fd25a1b51c8c95bd6d876ce1b4b928af89a12aab2a73ea31e19b04ecadbdc0d":[1,2,0,54,4], +"classclutchlog.html#a130c4f12eacbd2028102838fe16b734e":[1,2,0,52], +"classclutchlog.html#a1896f6c4b8597e3e76ff93970bd85167":[1,2,0,49], "classclutchlog.html#a1a8cb6411726133208f5a2f2cb42d468":[1,2,0,38], "classclutchlog.html#a2144abe4ec6f630126b6490908b5f924":[1,2,0,12], "classclutchlog.html#a229fd61519f1245282440120f2d45fb5":[1,2,0,37], "classclutchlog.html#a23dbb98f0d3c5cc21c232cde16cf317a":[1,2,0,32], "classclutchlog.html#a356df86455409193792b6ed550dfd09e":[1,2,0,42], "classclutchlog.html#a3cb0e4f43a4cadf1966001ad7c9861f4":[1,2,0,16], -"classclutchlog.html#a41757198b29862832a14472a9e5e24c6":[1,2,0,52], +"classclutchlog.html#a41757198b29862832a14472a9e5e24c6":[1,2,0,53], "classclutchlog.html#a4831f44fd5ade102e57320632095934d":[1,2,0,27], "classclutchlog.html#a4ebdfcded6c56262676bf6926d63fc96":[1,2,0,28], "classclutchlog.html#a5a9a98c3528117223ceff22bc6bee5f7":[1,2,0,41], -"classclutchlog.html#a5f4ddb57ce42e8be86a7c7d269f7bae5":[1,2,0,47], +"classclutchlog.html#a5f4ddb57ce42e8be86a7c7d269f7bae5":[1,2,0,48], "classclutchlog.html#a63308e8deae3cfec6801318203494143":[1,2,0,33], "classclutchlog.html#a656c277e074b64728cca871f2b484d1c":[1,2,0,10], "classclutchlog.html#a6666106b9e5c239b6ae5e0d1091648e3":[1,2,0,24], "classclutchlog.html#a6c6ab42a1df147e6c2d115bc36ec8266":[1,2,0,15], "classclutchlog.html#a76eb34537b634aadb75e255f7887eeb6":[1,2,0,39], "classclutchlog.html#a7a7738eaad114bfa870121412fe23ad9":[1,2,0,17], -"classclutchlog.html#a7c6e3fc082bc6f55d50131ed2b32e81e":[1,2,0,46], +"classclutchlog.html#a7c6e3fc082bc6f55d50131ed2b32e81e":[1,2,0,47], "classclutchlog.html#a7fd7c7bd3668c537061c314a619a336d":[1,2,0,14], "classclutchlog.html#a972f895c70edc335f3018a2c8971d59e":[1,2,0,29], "classclutchlog.html#aa26c6b81ebaeb9e9daa3457e3a3d17c9":[1,2,0,23], "classclutchlog.html#aa8d0a569ed3623ce36c5e567ec2d1ad5":[1,2,0,13], "classclutchlog.html#ab1c377a376e6772fe1746ff7147c125f":[1,2,0,43], "classclutchlog.html#ab45287cc9c14217904a13aff49573732":[1,2,0,18], -"classclutchlog.html#ab805ac5c33885459f9f752518a4aa735":[1,2,0,45], +"classclutchlog.html#ab805ac5c33885459f9f752518a4aa735":[1,2,0,46], "classclutchlog.html#abd4625bf211bfbaa30d9c126fa3d7888":[1,2,0,44], "classclutchlog.html#abd692cca9a2e772e7c9d6531bb3c7761":[1,2,0,31], "classclutchlog.html#ac3ec55057b9c734b66f169bf43dbd591":[1,2,0,25], @@ -51,9 +52,9 @@ var NAVTREEINDEX0 = "classclutchlog.html#acfaceb77da01503b432644a3efaee4fa":[1,2,0,8], "classclutchlog.html#ad1cfa9945c3f7f98fe8ce724c627d0d6":[1,2,0,26], "classclutchlog.html#ad32b5a0274dc03ee0004f67ba58b2447":[1,2,0,22], -"classclutchlog.html#aded03528f34d9000f618419c482c5042":[1,2,0,50], +"classclutchlog.html#aded03528f34d9000f618419c482c5042":[1,2,0,51], "classclutchlog.html#ae90d5a1a428587ad67b38b2ea4ca9fa2":[1,2,0,30], -"classclutchlog.html#aeb60684c89bcef5aa9273075c21cc993":[1,2,0,49], +"classclutchlog.html#aeb60684c89bcef5aa9273075c21cc993":[1,2,0,50], "classclutchlog.html#aef653a9744a72a889ca8163269bb781e":[1,2,0,9], "classclutchlog.html#af898bffe23b125245e338d7495c76d45":[1,2,0,36], "classclutchlog.html#afc53dbca51d0e2322a21899d0c571a80":[1,2,0,11], @@ -111,44 +112,44 @@ var NAVTREEINDEX0 = "group___default_config.html":[1,0], "group___default_config.html#ga27b613c6727857a7cbcd0165d862034e":[3,0,0,12], "group___default_config.html#ga27b613c6727857a7cbcd0165d862034e":[1,0,2], -"group___default_config.html#ga45c4c964fad4ad1641d5c9c28c4645b9":[3,0,0,14], "group___default_config.html#ga45c4c964fad4ad1641d5c9c28c4645b9":[1,0,4], +"group___default_config.html#ga45c4c964fad4ad1641d5c9c28c4645b9":[3,0,0,14], "group___default_config.html#ga4eda0c1bfded5df89351b8ce8b9c2805":[3,0,0,16], "group___default_config.html#ga4eda0c1bfded5df89351b8ce8b9c2805":[1,0,6], -"group___default_config.html#ga524c16f280d92ee8ab683162c9ce01fa":[3,0,0,11], "group___default_config.html#ga524c16f280d92ee8ab683162c9ce01fa":[1,0,1], +"group___default_config.html#ga524c16f280d92ee8ab683162c9ce01fa":[3,0,0,11], "group___default_config.html#ga54d29e956575e1c731eab5406135c5df":[1,0,3], "group___default_config.html#ga54d29e956575e1c731eab5406135c5df":[3,0,0,13], "group___default_config.html#ga8564be479b948ee3052b61783c66d415":[3,0,0,5], "group___default_config.html#ga8564be479b948ee3052b61783c66d415":[1,0,0], -"group___default_config.html#ga98f30d814d4913a8a7c93a8793f49adf":[1,0,5], "group___default_config.html#ga98f30d814d4913a8a7c93a8793f49adf":[3,0,0,15], +"group___default_config.html#ga98f30d814d4913a8a7c93a8793f49adf":[1,0,5], "group___formating.html":[1,3], "group___main.html":[1,2], "group___use_macros.html":[1,1], -"group___use_macros.html#ga572e3aa19d8b39e3ed0b9e91961104c2":[3,0,0,8], "group___use_macros.html#ga572e3aa19d8b39e3ed0b9e91961104c2":[1,1,2], -"group___use_macros.html#ga6f86187e2b35e7e1907d688f504a197d":[1,1,1], +"group___use_macros.html#ga572e3aa19d8b39e3ed0b9e91961104c2":[3,0,0,8], "group___use_macros.html#ga6f86187e2b35e7e1907d688f504a197d":[3,0,0,7], +"group___use_macros.html#ga6f86187e2b35e7e1907d688f504a197d":[1,1,1], "group___use_macros.html#ga9f77cee4f853e582262930c9c17f90ae":[1,1,3], "group___use_macros.html#ga9f77cee4f853e582262930c9c17f90ae":[3,0,0,9], "group___use_macros.html#gaaf2e85e1153e6c88b458dd49e3c37c73":[1,1,4], "group___use_macros.html#gaaf2e85e1153e6c88b458dd49e3c37c73":[3,0,0,10], -"group___use_macros.html#gae8911119d726a43b77f5781cb5a72813":[3,0,0,6], "group___use_macros.html#gae8911119d726a43b77f5781cb5a72813":[1,1,0], +"group___use_macros.html#gae8911119d726a43b77f5781cb5a72813":[3,0,0,6], "group__colors16.html":[1,4], "group__colors16.html#ga1cf3e27e4041250ffea0a6d58010da1e":[1,3,0,35], "group__colors16.html#ga1cf3e27e4041250ffea0a6d58010da1e":[1,4,1], -"group__colors16.html#ga379b0af834c7c561edc5c1e3a3427a33":[1,3,0,22], "group__colors16.html#ga379b0af834c7c561edc5c1e3a3427a33":[1,4,5], +"group__colors16.html#ga379b0af834c7c561edc5c1e3a3427a33":[1,3,0,22], "group__colors16.html#ga4662a3ec3577c6a575a2c734636ed8a0":[1,3,0,34], "group__colors16.html#ga4662a3ec3577c6a575a2c734636ed8a0":[1,4,0], -"group__colors16.html#ga5a697f5ad3326ea25b139e25252b4cf7":[1,4,4], "group__colors16.html#ga5a697f5ad3326ea25b139e25252b4cf7":[1,3,0,21], +"group__colors16.html#ga5a697f5ad3326ea25b139e25252b4cf7":[1,4,4], "group__colors16.html#ga8307a848fcf9ed929435b3e1f2b53401":[1,3,0,26], "group__colors16.html#ga8307a848fcf9ed929435b3e1f2b53401":[1,4,2], -"group__colors16.html#ga86696b20e5b31c96ba592926efb324f3":[1,4,3], "group__colors16.html#ga86696b20e5b31c96ba592926efb324f3":[1,3,0,27], +"group__colors16.html#ga86696b20e5b31c96ba592926efb324f3":[1,4,3], "group__colors16.html#gga1cf3e27e4041250ffea0a6d58010da1ea1ffd9e753c8054cc61456ac7fac1ac89":[1,3,0,35,0], "group__colors16.html#gga1cf3e27e4041250ffea0a6d58010da1ea334c4a4c42fdb79d7ebc3e73b517e6f8":[1,3,0,35,16], "group__colors16.html#gga1cf3e27e4041250ffea0a6d58010da1ea37553b57ad1d7f61b0c51f5a535f72bf":[1,3,0,35,13], @@ -190,8 +191,8 @@ var NAVTREEINDEX0 = "group__colors256__16_m.html#ga626c99eb11d1718d7a2a8bb3f079e6de":[1,3,0,30], "group__colors256__16_m.html#gaa2fcbb402dc2426d3720b8bc78a80ec0":[1,3,0,31], "group__colors256__16_m.html#gaa2fcbb402dc2426d3720b8bc78a80ec0":[1,5,10], -"group__colors256__16_m.html#gad98fbe84ef338ded8425d56955825a2c":[1,5,7], "group__colors256__16_m.html#gad98fbe84ef338ded8425d56955825a2c":[1,3,0,28], +"group__colors256__16_m.html#gad98fbe84ef338ded8425d56955825a2c":[1,5,7], "hierarchy.html":[2,2], "index.html":[0], "index.html":[], @@ -248,6 +249,5 @@ var NAVTREEINDEX0 = "structclutchlog_1_1fmt_1_1color.html#ad4d10c015b3af3cc10d1cf40fe38e4f0ae64e4c4fee28f9ca7301e4c7ff598e67":[1,5,0,6,0], "structclutchlog_1_1fmt_1_1color__16_m.html":[1,5,4], "structclutchlog_1_1fmt_1_1color__16_m.html#a19e1517a9afb75a4e6224f718ed11c61":[1,5,4,5], -"structclutchlog_1_1fmt_1_1color__16_m.html#a36d9cf42044fec34b7858142d86137d3":[1,5,4,1], -"structclutchlog_1_1fmt_1_1color__16_m.html#a55e39e7eb3ced3095c00914eff52470c":[1,5,4,2] +"structclutchlog_1_1fmt_1_1color__16_m.html#a36d9cf42044fec34b7858142d86137d3":[1,5,4,1] }; diff --git a/docs/navtreeindex1.js b/docs/navtreeindex1.js index 176dc70..d5cfa15 100644 --- a/docs/navtreeindex1.js +++ b/docs/navtreeindex1.js @@ -1,5 +1,6 @@ var NAVTREEINDEX1 = { +"structclutchlog_1_1fmt_1_1color__16_m.html#a55e39e7eb3ced3095c00914eff52470c":[1,5,4,2], "structclutchlog_1_1fmt_1_1color__16_m.html#a674910195e7bb14d78f0cf56c308a47e":[1,5,4,4], "structclutchlog_1_1fmt_1_1color__16_m.html#a780c11e42bb140732ffd37cf4eef9e1d":[1,5,4,3], "structclutchlog_1_1fmt_1_1color__16_m.html#ac94eaa04e4f5de4ca6cfe7105ec1c4d4":[1,5,4,6], @@ -29,9 +30,10 @@ var NAVTREEINDEX1 = "t-color16_m_8cpp_source.html":[3,0,3], "t-color256_8cpp_source.html":[3,0,4], "t-color_8cpp_source.html":[3,0,2], -"t-demo_8cpp_source.html":[3,0,5], -"t-dump_8cpp_source.html":[3,0,6], -"t-fmt-constructors_8cpp_source.html":[3,0,7], -"t-log_8cpp_source.html":[3,0,8], -"t-one-line-if_8cpp_source.html":[3,0,9] +"t-demo-extravagant_8cpp_source.html":[3,0,5], +"t-demo_8cpp_source.html":[3,0,6], +"t-dump_8cpp_source.html":[3,0,7], +"t-fmt-constructors_8cpp_source.html":[3,0,8], +"t-log_8cpp_source.html":[3,0,9], +"t-one-line-if_8cpp_source.html":[3,0,10] }; diff --git a/docs/search/all_0.js b/docs/search/all_0.js index 285176d..ce60da2 100644 --- a/docs/search/all_0.js +++ b/docs/search/all_0.js @@ -6,9 +6,10 @@ var searchData= ['_5fin_5ffunc_3',['_in_func',['../classclutchlog.html#a130c4f12eacbd2028102838fe16b734e',1,'clutchlog']]], ['_5fin_5fline_4',['_in_line',['../classclutchlog.html#a41757198b29862832a14472a9e5e24c6',1,'clutchlog']]], ['_5flevel_5ffmt_5',['_level_fmt',['../classclutchlog.html#ab805ac5c33885459f9f752518a4aa735',1,'clutchlog']]], - ['_5flevel_5fword_6',['_level_word',['../classclutchlog.html#ab1c377a376e6772fe1746ff7147c125f',1,'clutchlog']]], - ['_5fout_7',['_out',['../classclutchlog.html#a1896f6c4b8597e3e76ff93970bd85167',1,'clutchlog']]], - ['_5fstage_8',['_stage',['../classclutchlog.html#aeb60684c89bcef5aa9273075c21cc993',1,'clutchlog']]], - ['_5fstrip_5fcalls_9',['_strip_calls',['../classclutchlog.html#a356df86455409193792b6ed550dfd09e',1,'clutchlog']]], - ['_5fword_5flevel_10',['_word_level',['../classclutchlog.html#abd4625bf211bfbaa30d9c126fa3d7888',1,'clutchlog']]] + ['_5flevel_5fshort_6',['_level_short',['../classclutchlog.html#a08e8a817a75a4e9f0159231c941e0dae',1,'clutchlog']]], + ['_5flevel_5fword_7',['_level_word',['../classclutchlog.html#ab1c377a376e6772fe1746ff7147c125f',1,'clutchlog']]], + ['_5fout_8',['_out',['../classclutchlog.html#a1896f6c4b8597e3e76ff93970bd85167',1,'clutchlog']]], + ['_5fstage_9',['_stage',['../classclutchlog.html#aeb60684c89bcef5aa9273075c21cc993',1,'clutchlog']]], + ['_5fstrip_5fcalls_10',['_strip_calls',['../classclutchlog.html#a356df86455409193792b6ed550dfd09e',1,'clutchlog']]], + ['_5fword_5flevel_11',['_word_level',['../classclutchlog.html#abd4625bf211bfbaa30d9c126fa3d7888',1,'clutchlog']]] ]; diff --git a/docs/search/all_1.js b/docs/search/all_1.js index 2b8c4a6..0204185 100644 --- a/docs/search/all_1.js +++ b/docs/search/all_1.js @@ -1,4 +1,4 @@ var searchData= [ - ['ansi_11',['ansi',['../classclutchlog_1_1fmt.html#a4d0b3c87ba935addf3581b000c0d7502',1,'clutchlog::fmt']]] + ['ansi_12',['ansi',['../classclutchlog_1_1fmt.html#a4d0b3c87ba935addf3581b000c0d7502',1,'clutchlog::fmt']]] ]; diff --git a/docs/search/all_10.js b/docs/search/all_10.js index c5f6a91..5b59010 100644 --- a/docs/search/all_10.js +++ b/docs/search/all_10.js @@ -1,4 +1,4 @@ var searchData= [ - ['with_5fclutchlog_94',['WITH_CLUTCHLOG',['../clutchlog_8h.html#a5c126962abcc7a40e504a6fc3abdfcc4',1,'clutchlog.h']]] + ['with_5fclutchlog_95',['WITH_CLUTCHLOG',['../clutchlog_8h.html#a5c126962abcc7a40e504a6fc3abdfcc4',1,'clutchlog.h']]] ]; diff --git a/docs/search/all_2.js b/docs/search/all_2.js index 6f86198..957e26b 100644 --- a/docs/search/all_2.js +++ b/docs/search/all_2.js @@ -1,9 +1,9 @@ var searchData= [ - ['back_12',['back',['../group__colors16.html#ga86696b20e5b31c96ba592926efb324f3',1,'clutchlog::fmt']]], - ['back_5f16m_13',['back_16M',['../group__colors256__16_m.html#gaa2fcbb402dc2426d3720b8bc78a80ec0',1,'clutchlog::fmt']]], - ['back_5f256_14',['back_256',['../group__colors256__16_m.html#ga1d687af385957846034568c3a62d4ef0',1,'clutchlog::fmt']]], - ['bg_15',['bg',['../group__colors16.html#ga1cf3e27e4041250ffea0a6d58010da1e',1,'clutchlog::fmt']]], - ['bg_5f16m_16',['bg_16M',['../structclutchlog_1_1fmt_1_1bg__16_m.html',1,'clutchlog::fmt::bg_16M'],['../structclutchlog_1_1fmt_1_1bg__16_m.html#a363c314ab6a8aa22951b5500d7a78ad0',1,'clutchlog::fmt::bg_16M::bg_16M()'],['../structclutchlog_1_1fmt_1_1bg__16_m.html#ace018922ae99f32b48bf5cacaec91501',1,'clutchlog::fmt::bg_16M::bg_16M(short r, short g, short b)'],['../structclutchlog_1_1fmt_1_1bg__16_m.html#adcd5bd1e69e76e3b36015cf687693c97',1,'clutchlog::fmt::bg_16M::bg_16M(const std::string &srgb)'],['../structclutchlog_1_1fmt_1_1bg__16_m.html#a68f8cb4ab78a1cfb3b7b8e1e95bee11d',1,'clutchlog::fmt::bg_16M::bg_16M(const bg &)']]], - ['bg_5f256_17',['bg_256',['../structclutchlog_1_1fmt_1_1bg__256.html',1,'clutchlog::fmt::bg_256'],['../structclutchlog_1_1fmt_1_1bg__256.html#a0d244a542b6b98a373f8b1f9e92a6a90',1,'clutchlog::fmt::bg_256::bg_256()'],['../structclutchlog_1_1fmt_1_1bg__256.html#a83c663b1a9f00ba7ba7649c9c5605fad',1,'clutchlog::fmt::bg_256::bg_256(const short b)'],['../structclutchlog_1_1fmt_1_1bg__256.html#a096d302be7373acaaf225644683408bd',1,'clutchlog::fmt::bg_256::bg_256(const bg &)']]] + ['back_13',['back',['../group__colors16.html#ga86696b20e5b31c96ba592926efb324f3',1,'clutchlog::fmt']]], + ['back_5f16m_14',['back_16M',['../group__colors256__16_m.html#gaa2fcbb402dc2426d3720b8bc78a80ec0',1,'clutchlog::fmt']]], + ['back_5f256_15',['back_256',['../group__colors256__16_m.html#ga1d687af385957846034568c3a62d4ef0',1,'clutchlog::fmt']]], + ['bg_16',['bg',['../group__colors16.html#ga1cf3e27e4041250ffea0a6d58010da1e',1,'clutchlog::fmt']]], + ['bg_5f16m_17',['bg_16M',['../structclutchlog_1_1fmt_1_1bg__16_m.html',1,'clutchlog::fmt::bg_16M'],['../structclutchlog_1_1fmt_1_1bg__16_m.html#a363c314ab6a8aa22951b5500d7a78ad0',1,'clutchlog::fmt::bg_16M::bg_16M()'],['../structclutchlog_1_1fmt_1_1bg__16_m.html#ace018922ae99f32b48bf5cacaec91501',1,'clutchlog::fmt::bg_16M::bg_16M(short r, short g, short b)'],['../structclutchlog_1_1fmt_1_1bg__16_m.html#adcd5bd1e69e76e3b36015cf687693c97',1,'clutchlog::fmt::bg_16M::bg_16M(const std::string &srgb)'],['../structclutchlog_1_1fmt_1_1bg__16_m.html#a68f8cb4ab78a1cfb3b7b8e1e95bee11d',1,'clutchlog::fmt::bg_16M::bg_16M(const bg &)']]], + ['bg_5f256_18',['bg_256',['../structclutchlog_1_1fmt_1_1bg__256.html',1,'clutchlog::fmt::bg_256'],['../structclutchlog_1_1fmt_1_1bg__256.html#a0d244a542b6b98a373f8b1f9e92a6a90',1,'clutchlog::fmt::bg_256::bg_256()'],['../structclutchlog_1_1fmt_1_1bg__256.html#a83c663b1a9f00ba7ba7649c9c5605fad',1,'clutchlog::fmt::bg_256::bg_256(const short b)'],['../structclutchlog_1_1fmt_1_1bg__256.html#a096d302be7373acaaf225644683408bd',1,'clutchlog::fmt::bg_256::bg_256(const bg &)']]] ]; diff --git a/docs/search/all_3.js b/docs/search/all_3.js index ace7e9d..120e246 100644 --- a/docs/search/all_3.js +++ b/docs/search/all_3.js @@ -1,27 +1,27 @@ var searchData= [ - ['clutchcode_18',['CLUTCHCODE',['../group___use_macros.html#gaaf2e85e1153e6c88b458dd49e3c37c73',1,'clutchlog.h']]], - ['clutchdump_19',['CLUTCHDUMP',['../group___use_macros.html#ga572e3aa19d8b39e3ed0b9e91961104c2',1,'clutchlog.h']]], - ['clutchdump_5fdefault_5fformat_20',['CLUTCHDUMP_DEFAULT_FORMAT',['../group___default_config.html#ga27b613c6727857a7cbcd0165d862034e',1,'clutchlog.h']]], - ['clutchdump_5fdefault_5fsep_21',['CLUTCHDUMP_DEFAULT_SEP',['../group___default_config.html#ga54d29e956575e1c731eab5406135c5df',1,'clutchlog.h']]], - ['clutchfunc_22',['CLUTCHFUNC',['../group___use_macros.html#ga9f77cee4f853e582262930c9c17f90ae',1,'clutchlog.h']]], - ['clutchloc_23',['CLUTCHLOC',['../group___use_macros.html#gae8911119d726a43b77f5781cb5a72813',1,'clutchlog.h']]], - ['clutchlog_24',['clutchlog',['../classclutchlog.html',1,'clutchlog'],['../group___use_macros.html#ga6f86187e2b35e7e1907d688f504a197d',1,'CLUTCHLOG(): clutchlog.h']]], - ['clutchlog_2eh_25',['clutchlog.h',['../clutchlog_8h.html',1,'']]], - ['clutchlog_5fdefault_5fdepth_5fbuilt_5fnodebug_26',['CLUTCHLOG_DEFAULT_DEPTH_BUILT_NODEBUG',['../group___default_config.html#ga8564be479b948ee3052b61783c66d415',1,'clutchlog.h']]], - ['clutchlog_5fdefault_5fdepth_5fmark_27',['CLUTCHLOG_DEFAULT_DEPTH_MARK',['../group___default_config.html#ga45c4c964fad4ad1641d5c9c28c4645b9',1,'clutchlog.h']]], - ['clutchlog_5fdefault_5fformat_28',['CLUTCHLOG_DEFAULT_FORMAT',['../group___default_config.html#ga524c16f280d92ee8ab683162c9ce01fa',1,'clutchlog.h']]], - ['clutchlog_5fdefault_5fhfill_5fmark_29',['CLUTCHLOG_DEFAULT_HFILL_MARK',['../group___default_config.html#ga4eda0c1bfded5df89351b8ce8b9c2805',1,'clutchlog.h']]], - ['clutchlog_5fh_30',['CLUTCHLOG_H',['../clutchlog_8h.html#a0acf7d306292cdee864356f0b433cc16',1,'clutchlog.h']]], - ['clutchlog_5fhave_5funix_5fsysinfo_31',['CLUTCHLOG_HAVE_UNIX_SYSINFO',['../clutchlog_8h.html#a6bbcf13504687db4dbe0474931d867fb',1,'clutchlog.h']]], - ['clutchlog_5fhave_5funix_5fsysioctl_32',['CLUTCHLOG_HAVE_UNIX_SYSIOCTL',['../clutchlog_8h.html#a6bddd1e1be320823da0d6b1d5cef7817',1,'clutchlog.h']]], - ['clutchlog_5fstrip_5fcalls_33',['CLUTCHLOG_STRIP_CALLS',['../group___default_config.html#ga98f30d814d4913a8a7c93a8793f49adf',1,'clutchlog.h']]], - ['color_34',['color',['../structclutchlog_1_1fmt_1_1color.html',1,'clutchlog::fmt::color'],['../structclutchlog_1_1fmt_1_1color.html#a741d0165287350d8fcacb1f472ce5dac',1,'clutchlog::fmt::color::color()']]], - ['color_5f16m_35',['color_16M',['../structclutchlog_1_1fmt_1_1color__16_m.html',1,'clutchlog::fmt::color_16M'],['../structclutchlog_1_1fmt_1_1color__16_m.html#aea10e881fb9b570267f5751fb67c4282',1,'clutchlog::fmt::color_16M::color_16M(ground t)'],['../structclutchlog_1_1fmt_1_1color__16_m.html#a36d9cf42044fec34b7858142d86137d3',1,'clutchlog::fmt::color_16M::color_16M(ground t, short r, short g, short b)'],['../structclutchlog_1_1fmt_1_1color__16_m.html#a55e39e7eb3ced3095c00914eff52470c',1,'clutchlog::fmt::color_16M::color_16M(ground t, const std::string &srgb)']]], - ['color_5f256_36',['color_256',['../structclutchlog_1_1fmt_1_1color__256.html',1,'clutchlog::fmt::color_256'],['../structclutchlog_1_1fmt_1_1color__256.html#a12fdff3c5c4edbf952aaa31519f0171c',1,'clutchlog::fmt::color_256::color_256(ground t)'],['../structclutchlog_1_1fmt_1_1color__256.html#a1b68065b35141c018b33c3f2c45f5726',1,'clutchlog::fmt::color_256::color_256(ground t, const short i)']]], - ['colors_20management_20in_2016_20colors_20mode_20_284_2dbits_20ansi_29_2e_37',['Colors management in 16 colors mode (4-bits ANSI).',['../group__colors16.html',1,'']]], - ['colors_5f16_38',['colors_16',['../classclutchlog_1_1fmt.html#a4d0b3c87ba935addf3581b000c0d7502a1e7cced329549fc4c2393381f068062e',1,'clutchlog::fmt']]], - ['colors_5f16m_39',['colors_16M',['../classclutchlog_1_1fmt.html#a4d0b3c87ba935addf3581b000c0d7502a1844e5aae3a3eefc500c545e3c35bcfa',1,'clutchlog::fmt']]], - ['colors_5f256_40',['colors_256',['../classclutchlog_1_1fmt.html#a4d0b3c87ba935addf3581b000c0d7502a7a3c32a8827eb17435511b4c7a429749',1,'clutchlog::fmt']]], - ['clutchlog_20—_20versatile_20_28de_29clutchable_20spatial_20logging_41',['Clutchlog — versatile (de)clutchable spatial logging',['../index.html',1,'']]] + ['clutchcode_19',['CLUTCHCODE',['../group___use_macros.html#gaaf2e85e1153e6c88b458dd49e3c37c73',1,'clutchlog.h']]], + ['clutchdump_20',['CLUTCHDUMP',['../group___use_macros.html#ga572e3aa19d8b39e3ed0b9e91961104c2',1,'clutchlog.h']]], + ['clutchdump_5fdefault_5fformat_21',['CLUTCHDUMP_DEFAULT_FORMAT',['../group___default_config.html#ga27b613c6727857a7cbcd0165d862034e',1,'clutchlog.h']]], + ['clutchdump_5fdefault_5fsep_22',['CLUTCHDUMP_DEFAULT_SEP',['../group___default_config.html#ga54d29e956575e1c731eab5406135c5df',1,'clutchlog.h']]], + ['clutchfunc_23',['CLUTCHFUNC',['../group___use_macros.html#ga9f77cee4f853e582262930c9c17f90ae',1,'clutchlog.h']]], + ['clutchloc_24',['CLUTCHLOC',['../group___use_macros.html#gae8911119d726a43b77f5781cb5a72813',1,'clutchlog.h']]], + ['clutchlog_25',['clutchlog',['../classclutchlog.html',1,'clutchlog'],['../group___use_macros.html#ga6f86187e2b35e7e1907d688f504a197d',1,'CLUTCHLOG(): clutchlog.h']]], + ['clutchlog_2eh_26',['clutchlog.h',['../clutchlog_8h.html',1,'']]], + ['clutchlog_5fdefault_5fdepth_5fbuilt_5fnodebug_27',['CLUTCHLOG_DEFAULT_DEPTH_BUILT_NODEBUG',['../group___default_config.html#ga8564be479b948ee3052b61783c66d415',1,'clutchlog.h']]], + ['clutchlog_5fdefault_5fdepth_5fmark_28',['CLUTCHLOG_DEFAULT_DEPTH_MARK',['../group___default_config.html#ga45c4c964fad4ad1641d5c9c28c4645b9',1,'clutchlog.h']]], + ['clutchlog_5fdefault_5fformat_29',['CLUTCHLOG_DEFAULT_FORMAT',['../group___default_config.html#ga524c16f280d92ee8ab683162c9ce01fa',1,'clutchlog.h']]], + ['clutchlog_5fdefault_5fhfill_5fmark_30',['CLUTCHLOG_DEFAULT_HFILL_MARK',['../group___default_config.html#ga4eda0c1bfded5df89351b8ce8b9c2805',1,'clutchlog.h']]], + ['clutchlog_5fh_31',['CLUTCHLOG_H',['../clutchlog_8h.html#a0acf7d306292cdee864356f0b433cc16',1,'clutchlog.h']]], + ['clutchlog_5fhave_5funix_5fsysinfo_32',['CLUTCHLOG_HAVE_UNIX_SYSINFO',['../clutchlog_8h.html#a6bbcf13504687db4dbe0474931d867fb',1,'clutchlog.h']]], + ['clutchlog_5fhave_5funix_5fsysioctl_33',['CLUTCHLOG_HAVE_UNIX_SYSIOCTL',['../clutchlog_8h.html#a6bddd1e1be320823da0d6b1d5cef7817',1,'clutchlog.h']]], + ['clutchlog_5fstrip_5fcalls_34',['CLUTCHLOG_STRIP_CALLS',['../group___default_config.html#ga98f30d814d4913a8a7c93a8793f49adf',1,'clutchlog.h']]], + ['color_35',['color',['../structclutchlog_1_1fmt_1_1color.html',1,'clutchlog::fmt::color'],['../structclutchlog_1_1fmt_1_1color.html#a741d0165287350d8fcacb1f472ce5dac',1,'clutchlog::fmt::color::color()']]], + ['color_5f16m_36',['color_16M',['../structclutchlog_1_1fmt_1_1color__16_m.html',1,'clutchlog::fmt::color_16M'],['../structclutchlog_1_1fmt_1_1color__16_m.html#aea10e881fb9b570267f5751fb67c4282',1,'clutchlog::fmt::color_16M::color_16M(ground t)'],['../structclutchlog_1_1fmt_1_1color__16_m.html#a36d9cf42044fec34b7858142d86137d3',1,'clutchlog::fmt::color_16M::color_16M(ground t, short r, short g, short b)'],['../structclutchlog_1_1fmt_1_1color__16_m.html#a55e39e7eb3ced3095c00914eff52470c',1,'clutchlog::fmt::color_16M::color_16M(ground t, const std::string &srgb)']]], + ['color_5f256_37',['color_256',['../structclutchlog_1_1fmt_1_1color__256.html',1,'clutchlog::fmt::color_256'],['../structclutchlog_1_1fmt_1_1color__256.html#a12fdff3c5c4edbf952aaa31519f0171c',1,'clutchlog::fmt::color_256::color_256(ground t)'],['../structclutchlog_1_1fmt_1_1color__256.html#a1b68065b35141c018b33c3f2c45f5726',1,'clutchlog::fmt::color_256::color_256(ground t, const short i)']]], + ['colors_20management_20in_2016_20colors_20mode_20_284_2dbits_20ansi_29_2e_38',['Colors management in 16 colors mode (4-bits ANSI).',['../group__colors16.html',1,'']]], + ['colors_5f16_39',['colors_16',['../classclutchlog_1_1fmt.html#a4d0b3c87ba935addf3581b000c0d7502a1e7cced329549fc4c2393381f068062e',1,'clutchlog::fmt']]], + ['colors_5f16m_40',['colors_16M',['../classclutchlog_1_1fmt.html#a4d0b3c87ba935addf3581b000c0d7502a1844e5aae3a3eefc500c545e3c35bcfa',1,'clutchlog::fmt']]], + ['colors_5f256_41',['colors_256',['../classclutchlog_1_1fmt.html#a4d0b3c87ba935addf3581b000c0d7502a7a3c32a8827eb17435511b4c7a429749',1,'clutchlog::fmt']]], + ['clutchlog_20—_20versatile_20_28de_29clutchable_20spatial_20logging_42',['Clutchlog — versatile (de)clutchable spatial logging',['../index.html',1,'']]] ]; diff --git a/docs/search/all_4.js b/docs/search/all_4.js index d8f7ffb..97fd13b 100644 --- a/docs/search/all_4.js +++ b/docs/search/all_4.js @@ -1,13 +1,13 @@ var searchData= [ - ['default_5fdepth_5fmark_42',['default_depth_mark',['../classclutchlog.html#a229fd61519f1245282440120f2d45fb5',1,'clutchlog']]], - ['default_5fformat_43',['default_format',['../classclutchlog.html#a0c4ac57601e6f8d146fd5cc060968ecc',1,'clutchlog']]], - ['default_5fhfill_5fchar_44',['default_hfill_char',['../classclutchlog.html#a76eb34537b634aadb75e255f7887eeb6',1,'clutchlog']]], - ['default_5fhfill_5fmax_45',['default_hfill_max',['../classclutchlog.html#ac95630bfe9cf547d2b7c4b3430eaedc1',1,'clutchlog']]], - ['default_5fhfill_5fmin_46',['default_hfill_min',['../classclutchlog.html#a5a9a98c3528117223ceff22bc6bee5f7',1,'clutchlog']]], - ['default_5fstrip_5fcalls_47',['default_strip_calls',['../classclutchlog.html#a1a8cb6411726133208f5a2f2cb42d468',1,'clutchlog']]], - ['default_20configuration_20management_48',['Default configuration management',['../group___default_config.html',1,'']]], - ['dump_49',['dump',['../classclutchlog.html#a63308e8deae3cfec6801318203494143',1,'clutchlog']]], - ['dump_5fdefault_5fformat_50',['dump_default_format',['../classclutchlog.html#ace879554298e6e6e36dafef330c27be8',1,'clutchlog']]], - ['dump_5fdefault_5fsep_51',['dump_default_sep',['../classclutchlog.html#af898bffe23b125245e338d7495c76d45',1,'clutchlog']]] + ['default_5fdepth_5fmark_43',['default_depth_mark',['../classclutchlog.html#a229fd61519f1245282440120f2d45fb5',1,'clutchlog']]], + ['default_5fformat_44',['default_format',['../classclutchlog.html#a0c4ac57601e6f8d146fd5cc060968ecc',1,'clutchlog']]], + ['default_5fhfill_5fchar_45',['default_hfill_char',['../classclutchlog.html#a76eb34537b634aadb75e255f7887eeb6',1,'clutchlog']]], + ['default_5fhfill_5fmax_46',['default_hfill_max',['../classclutchlog.html#ac95630bfe9cf547d2b7c4b3430eaedc1',1,'clutchlog']]], + ['default_5fhfill_5fmin_47',['default_hfill_min',['../classclutchlog.html#a5a9a98c3528117223ceff22bc6bee5f7',1,'clutchlog']]], + ['default_5fstrip_5fcalls_48',['default_strip_calls',['../classclutchlog.html#a1a8cb6411726133208f5a2f2cb42d468',1,'clutchlog']]], + ['default_20configuration_20management_49',['Default configuration management',['../group___default_config.html',1,'']]], + ['dump_50',['dump',['../classclutchlog.html#a63308e8deae3cfec6801318203494143',1,'clutchlog']]], + ['dump_5fdefault_5fformat_51',['dump_default_format',['../classclutchlog.html#ace879554298e6e6e36dafef330c27be8',1,'clutchlog']]], + ['dump_5fdefault_5fsep_52',['dump_default_sep',['../classclutchlog.html#af898bffe23b125245e338d7495c76d45',1,'clutchlog']]] ]; diff --git a/docs/search/all_5.js b/docs/search/all_5.js index 2ab8ba1..e6a875f 100644 --- a/docs/search/all_5.js +++ b/docs/search/all_5.js @@ -1,15 +1,15 @@ var searchData= [ - ['fg_52',['fg',['../group__colors16.html#ga4662a3ec3577c6a575a2c734636ed8a0',1,'clutchlog::fmt']]], - ['fg_5f16m_53',['fg_16M',['../structclutchlog_1_1fmt_1_1fg__16_m.html',1,'clutchlog::fmt::fg_16M'],['../structclutchlog_1_1fmt_1_1fg__16_m.html#a984525f33eb86b7f8b3e5d0874611194',1,'clutchlog::fmt::fg_16M::fg_16M()'],['../structclutchlog_1_1fmt_1_1fg__16_m.html#a531b717b8d78a0a5929fa90d0a01d7e5',1,'clutchlog::fmt::fg_16M::fg_16M(short r, short g, short b)'],['../structclutchlog_1_1fmt_1_1fg__16_m.html#abc768d6b7c2139c14f210755108006d3',1,'clutchlog::fmt::fg_16M::fg_16M(const std::string &srgb)'],['../structclutchlog_1_1fmt_1_1fg__16_m.html#a9da40a4a7ff3b80f028f26322f59eba8',1,'clutchlog::fmt::fg_16M::fg_16M(const fg &)']]], - ['fg_5f256_54',['fg_256',['../structclutchlog_1_1fmt_1_1fg__256.html',1,'clutchlog::fmt::fg_256'],['../structclutchlog_1_1fmt_1_1fg__256.html#a97c241e9f80c63d269953cc525a72c7a',1,'clutchlog::fmt::fg_256::fg_256()'],['../structclutchlog_1_1fmt_1_1fg__256.html#a6df3d848db0e55c79709fb4565cbfd59',1,'clutchlog::fmt::fg_256::fg_256(const short f)'],['../structclutchlog_1_1fmt_1_1fg__256.html#a501fff36520f20ba4973ba3848fb9c23',1,'clutchlog::fmt::fg_256::fg_256(const fg &)']]], - ['file_55',['file',['../classclutchlog.html#a10064493c22f5c03b502a42d814c5c5c',1,'clutchlog']]], - ['fmt_56',['fmt',['../classclutchlog_1_1fmt.html',1,'clutchlog::fmt'],['../classclutchlog_1_1fmt.html#a407506bc02ed3f91d88b3df630e54959',1,'clutchlog::fmt::fmt()']]], - ['fore_57',['fore',['../group__colors16.html#ga8307a848fcf9ed929435b3e1f2b53401',1,'clutchlog::fmt']]], - ['fore_5f16m_58',['fore_16M',['../group__colors256__16_m.html#ga626c99eb11d1718d7a2a8bb3f079e6de',1,'clutchlog::fmt']]], - ['fore_5f256_59',['fore_256',['../group__colors256__16_m.html#gad98fbe84ef338ded8425d56955825a2c',1,'clutchlog::fmt']]], - ['format_60',['format',['../classclutchlog.html#a656c277e074b64728cca871f2b484d1c',1,'clutchlog::format(const std::string &format)'],['../classclutchlog.html#afc53dbca51d0e2322a21899d0c571a80',1,'clutchlog::format() const'],['../classclutchlog.html#abd692cca9a2e772e7c9d6531bb3c7761',1,'clutchlog::format(std::string row, const std::string &what, const level &stage, const std::string &file, const std::string &func, const size_t line) const']]], - ['format_5fcomment_61',['format_comment',['../classclutchlog.html#a2144abe4ec6f630126b6490908b5f924',1,'clutchlog::format_comment(const std::string &format)'],['../classclutchlog.html#aa8d0a569ed3623ce36c5e567ec2d1ad5',1,'clutchlog::format_comment() const']]], - ['formating_20tools_62',['Formating tools',['../group___formating.html',1,'']]], - ['func_63',['func',['../classclutchlog.html#ad32b5a0274dc03ee0004f67ba58b2447',1,'clutchlog']]] + ['fg_53',['fg',['../group__colors16.html#ga4662a3ec3577c6a575a2c734636ed8a0',1,'clutchlog::fmt']]], + ['fg_5f16m_54',['fg_16M',['../structclutchlog_1_1fmt_1_1fg__16_m.html',1,'clutchlog::fmt::fg_16M'],['../structclutchlog_1_1fmt_1_1fg__16_m.html#a984525f33eb86b7f8b3e5d0874611194',1,'clutchlog::fmt::fg_16M::fg_16M()'],['../structclutchlog_1_1fmt_1_1fg__16_m.html#a531b717b8d78a0a5929fa90d0a01d7e5',1,'clutchlog::fmt::fg_16M::fg_16M(short r, short g, short b)'],['../structclutchlog_1_1fmt_1_1fg__16_m.html#abc768d6b7c2139c14f210755108006d3',1,'clutchlog::fmt::fg_16M::fg_16M(const std::string &srgb)'],['../structclutchlog_1_1fmt_1_1fg__16_m.html#a9da40a4a7ff3b80f028f26322f59eba8',1,'clutchlog::fmt::fg_16M::fg_16M(const fg &)']]], + ['fg_5f256_55',['fg_256',['../structclutchlog_1_1fmt_1_1fg__256.html',1,'clutchlog::fmt::fg_256'],['../structclutchlog_1_1fmt_1_1fg__256.html#a97c241e9f80c63d269953cc525a72c7a',1,'clutchlog::fmt::fg_256::fg_256()'],['../structclutchlog_1_1fmt_1_1fg__256.html#a6df3d848db0e55c79709fb4565cbfd59',1,'clutchlog::fmt::fg_256::fg_256(const short f)'],['../structclutchlog_1_1fmt_1_1fg__256.html#a501fff36520f20ba4973ba3848fb9c23',1,'clutchlog::fmt::fg_256::fg_256(const fg &)']]], + ['file_56',['file',['../classclutchlog.html#a10064493c22f5c03b502a42d814c5c5c',1,'clutchlog']]], + ['fmt_57',['fmt',['../classclutchlog_1_1fmt.html',1,'clutchlog::fmt'],['../classclutchlog_1_1fmt.html#a407506bc02ed3f91d88b3df630e54959',1,'clutchlog::fmt::fmt()']]], + ['fore_58',['fore',['../group__colors16.html#ga8307a848fcf9ed929435b3e1f2b53401',1,'clutchlog::fmt']]], + ['fore_5f16m_59',['fore_16M',['../group__colors256__16_m.html#ga626c99eb11d1718d7a2a8bb3f079e6de',1,'clutchlog::fmt']]], + ['fore_5f256_60',['fore_256',['../group__colors256__16_m.html#gad98fbe84ef338ded8425d56955825a2c',1,'clutchlog::fmt']]], + ['format_61',['format',['../classclutchlog.html#a656c277e074b64728cca871f2b484d1c',1,'clutchlog::format(const std::string &format)'],['../classclutchlog.html#afc53dbca51d0e2322a21899d0c571a80',1,'clutchlog::format() const'],['../classclutchlog.html#abd692cca9a2e772e7c9d6531bb3c7761',1,'clutchlog::format(std::string row, const std::string &what, const level &stage, const std::string &file, const std::string &func, const size_t line) const']]], + ['format_5fcomment_62',['format_comment',['../classclutchlog.html#a2144abe4ec6f630126b6490908b5f924',1,'clutchlog::format_comment(const std::string &format)'],['../classclutchlog.html#aa8d0a569ed3623ce36c5e567ec2d1ad5',1,'clutchlog::format_comment() const']]], + ['formating_20tools_63',['Formating tools',['../group___formating.html',1,'']]], + ['func_64',['func',['../classclutchlog.html#ad32b5a0274dc03ee0004f67ba58b2447',1,'clutchlog']]] ]; diff --git a/docs/search/all_6.js b/docs/search/all_6.js index 56334e1..a238d73 100644 --- a/docs/search/all_6.js +++ b/docs/search/all_6.js @@ -1,4 +1,4 @@ var searchData= [ - ['ground_64',['ground',['../structclutchlog_1_1fmt_1_1color.html#ad4d10c015b3af3cc10d1cf40fe38e4f0',1,'clutchlog::fmt::color']]] + ['ground_65',['ground',['../structclutchlog_1_1fmt_1_1color.html#ad4d10c015b3af3cc10d1cf40fe38e4f0',1,'clutchlog::fmt::color']]] ]; diff --git a/docs/search/all_7.js b/docs/search/all_7.js index 8cf43ea..ceeff9e 100644 --- a/docs/search/all_7.js +++ b/docs/search/all_7.js @@ -1,4 +1,4 @@ var searchData= [ - ['high_2dlevel_20api_20macros_65',['High-level API macros',['../group___use_macros.html',1,'']]] + ['high_2dlevel_20api_20macros_66',['High-level API macros',['../group___use_macros.html',1,'']]] ]; diff --git a/docs/search/all_8.js b/docs/search/all_8.js index 59fb36c..563b231 100644 --- a/docs/search/all_8.js +++ b/docs/search/all_8.js @@ -1,6 +1,6 @@ var searchData= [ - ['internal_20colors_20management_20in_20256_20and_2016m_20colors_20modes_2e_66',['Internal colors management in 256 and 16M colors modes.',['../group__colors256__16_m.html',1,'']]], - ['index_67',['index',['../structclutchlog_1_1fmt_1_1color__256.html#a8e0b13d6bad87c83c3465524a5d33988',1,'clutchlog::fmt::color_256']]], - ['is_5fset_68',['is_set',['../structclutchlog_1_1fmt_1_1color.html#a96d7161ef1e7cc631ae670cd3f364603',1,'clutchlog::fmt::color::is_set()'],['../structclutchlog_1_1fmt_1_1color__256.html#ad79557682cec1c053dda258581972111',1,'clutchlog::fmt::color_256::is_set()'],['../structclutchlog_1_1fmt_1_1color__16_m.html#a780c11e42bb140732ffd37cf4eef9e1d',1,'clutchlog::fmt::color_16M::is_set()']]] + ['internal_20colors_20management_20in_20256_20and_2016m_20colors_20modes_2e_67',['Internal colors management in 256 and 16M colors modes.',['../group__colors256__16_m.html',1,'']]], + ['index_68',['index',['../structclutchlog_1_1fmt_1_1color__256.html#a8e0b13d6bad87c83c3465524a5d33988',1,'clutchlog::fmt::color_256']]], + ['is_5fset_69',['is_set',['../structclutchlog_1_1fmt_1_1color.html#a96d7161ef1e7cc631ae670cd3f364603',1,'clutchlog::fmt::color::is_set()'],['../structclutchlog_1_1fmt_1_1color__256.html#ad79557682cec1c053dda258581972111',1,'clutchlog::fmt::color_256::is_set()'],['../structclutchlog_1_1fmt_1_1color__16_m.html#a780c11e42bb140732ffd37cf4eef9e1d',1,'clutchlog::fmt::color_16M::is_set()']]] ]; diff --git a/docs/search/all_9.js b/docs/search/all_9.js index 0c7f78a..76f9563 100644 --- a/docs/search/all_9.js +++ b/docs/search/all_9.js @@ -1,11 +1,11 @@ var searchData= [ - ['level_69',['level',['../classclutchlog.html#a10fd25a1b51c8c95bd6d876ce1b4b928',1,'clutchlog']]], - ['level_5fof_70',['level_of',['../classclutchlog.html#acebed8c9df9204f22bf8488e62e1cedd',1,'clutchlog']]], - ['levels_71',['levels',['../classclutchlog.html#aff3aa09fb60f7d6dc688c028d3834d8a',1,'clutchlog']]], - ['line_72',['line',['../classclutchlog.html#aa26c6b81ebaeb9e9daa3457e3a3d17c9',1,'clutchlog']]], - ['locate_73',['locate',['../classclutchlog.html#a4ebdfcded6c56262676bf6926d63fc96',1,'clutchlog']]], - ['location_74',['location',['../classclutchlog.html#a6666106b9e5c239b6ae5e0d1091648e3',1,'clutchlog']]], - ['log_75',['log',['../classclutchlog.html#a23dbb98f0d3c5cc21c232cde16cf317a',1,'clutchlog']]], - ['logger_76',['logger',['../classclutchlog.html#acfaceb77da01503b432644a3efaee4fa',1,'clutchlog']]] + ['level_70',['level',['../classclutchlog.html#a10fd25a1b51c8c95bd6d876ce1b4b928',1,'clutchlog']]], + ['level_5fof_71',['level_of',['../classclutchlog.html#acebed8c9df9204f22bf8488e62e1cedd',1,'clutchlog']]], + ['levels_72',['levels',['../classclutchlog.html#aff3aa09fb60f7d6dc688c028d3834d8a',1,'clutchlog']]], + ['line_73',['line',['../classclutchlog.html#aa26c6b81ebaeb9e9daa3457e3a3d17c9',1,'clutchlog']]], + ['locate_74',['locate',['../classclutchlog.html#a4ebdfcded6c56262676bf6926d63fc96',1,'clutchlog']]], + ['location_75',['location',['../classclutchlog.html#a6666106b9e5c239b6ae5e0d1091648e3',1,'clutchlog']]], + ['log_76',['log',['../classclutchlog.html#a23dbb98f0d3c5cc21c232cde16cf317a',1,'clutchlog']]], + ['logger_77',['logger',['../classclutchlog.html#acfaceb77da01503b432644a3efaee4fa',1,'clutchlog']]] ]; diff --git a/docs/search/all_a.js b/docs/search/all_a.js index 958fa4b..b24fc28 100644 --- a/docs/search/all_a.js +++ b/docs/search/all_a.js @@ -1,6 +1,6 @@ var searchData= [ - ['main_20class_77',['Main class',['../group___main.html',1,'']]], - ['matches_78',['matches',['../structclutchlog_1_1scope__t.html#ae6c0e4ed20db797124ed1e5faa033ad9',1,'clutchlog::scope_t']]], - ['mode_79',['mode',['../classclutchlog_1_1fmt.html#a0aa57cdd56ccc79c7750921ab534b205',1,'clutchlog::fmt']]] + ['main_20class_78',['Main class',['../group___main.html',1,'']]], + ['matches_79',['matches',['../structclutchlog_1_1scope__t.html#ae6c0e4ed20db797124ed1e5faa033ad9',1,'clutchlog::scope_t']]], + ['mode_80',['mode',['../classclutchlog_1_1fmt.html#a0aa57cdd56ccc79c7750921ab534b205',1,'clutchlog::fmt']]] ]; diff --git a/docs/search/all_b.js b/docs/search/all_b.js index 5b47d59..30b2dfd 100644 --- a/docs/search/all_b.js +++ b/docs/search/all_b.js @@ -1,6 +1,6 @@ var searchData= [ - ['operator_28_29_80',['operator()',['../classclutchlog_1_1fmt.html#afeaedd18298498d1dcfcc15f5f17ac3c',1,'clutchlog::fmt']]], - ['operator_3c_3c_81',['operator<<',['../group__colors16.html#ga5a697f5ad3326ea25b139e25252b4cf7',1,'clutchlog::fmt::operator<<()'],['../group__colors16.html#ga379b0af834c7c561edc5c1e3a3427a33',1,'clutchlog::fmt::operator<<()'],['../structclutchlog_1_1fmt_1_1color.html#a826e3d3eba925608442439d6bc3a95a6',1,'clutchlog::fmt::color::operator<<()'],['../classclutchlog_1_1fmt.html#a96849ba427feac3a2eeaa1165e3845da',1,'clutchlog::fmt::operator<<()']]], - ['out_82',['out',['../classclutchlog.html#a7fd7c7bd3668c537061c314a619a336d',1,'clutchlog::out(std::ostream &out)'],['../classclutchlog.html#a6c6ab42a1df147e6c2d115bc36ec8266',1,'clutchlog::out()']]] + ['operator_28_29_81',['operator()',['../classclutchlog_1_1fmt.html#afeaedd18298498d1dcfcc15f5f17ac3c',1,'clutchlog::fmt']]], + ['operator_3c_3c_82',['operator<<',['../group__colors16.html#ga5a697f5ad3326ea25b139e25252b4cf7',1,'clutchlog::fmt::operator<<()'],['../group__colors16.html#ga379b0af834c7c561edc5c1e3a3427a33',1,'clutchlog::fmt::operator<<()'],['../structclutchlog_1_1fmt_1_1color.html#a826e3d3eba925608442439d6bc3a95a6',1,'clutchlog::fmt::color::operator<<()'],['../classclutchlog_1_1fmt.html#a96849ba427feac3a2eeaa1165e3845da',1,'clutchlog::fmt::operator<<()']]], + ['out_83',['out',['../classclutchlog.html#a7fd7c7bd3668c537061c314a619a336d',1,'clutchlog::out(std::ostream &out)'],['../classclutchlog.html#a6c6ab42a1df147e6c2d115bc36ec8266',1,'clutchlog::out()']]] ]; diff --git a/docs/search/all_c.js b/docs/search/all_c.js index 8fbe40c..4b99bc7 100644 --- a/docs/search/all_c.js +++ b/docs/search/all_c.js @@ -1,4 +1,4 @@ var searchData= [ - ['print_5fon_83',['print_on',['../structclutchlog_1_1fmt_1_1color.html#aa75e958436afe333924b6db3e5f0821f',1,'clutchlog::fmt::color::print_on()'],['../structclutchlog_1_1fmt_1_1color__256.html#aaae6106a11eddade981172324a43df68',1,'clutchlog::fmt::color_256::print_on()'],['../structclutchlog_1_1fmt_1_1color__16_m.html#a674910195e7bb14d78f0cf56c308a47e',1,'clutchlog::fmt::color_16M::print_on()'],['../classclutchlog_1_1fmt.html#a0b607e343b6813b99eafca1fdfec9cd0',1,'clutchlog::fmt::print_on()']]] + ['print_5fon_84',['print_on',['../structclutchlog_1_1fmt_1_1color.html#aa75e958436afe333924b6db3e5f0821f',1,'clutchlog::fmt::color::print_on()'],['../structclutchlog_1_1fmt_1_1color__256.html#aaae6106a11eddade981172324a43df68',1,'clutchlog::fmt::color_256::print_on()'],['../structclutchlog_1_1fmt_1_1color__16_m.html#a674910195e7bb14d78f0cf56c308a47e',1,'clutchlog::fmt::color_16M::print_on()'],['../classclutchlog_1_1fmt.html#a0b607e343b6813b99eafca1fdfec9cd0',1,'clutchlog::fmt::print_on()']]] ]; diff --git a/docs/search/all_d.js b/docs/search/all_d.js index 6e67b47..e5ba0dc 100644 --- a/docs/search/all_d.js +++ b/docs/search/all_d.js @@ -1,5 +1,5 @@ var searchData= [ - ['red_84',['red',['../structclutchlog_1_1fmt_1_1color__16_m.html#a19e1517a9afb75a4e6224f718ed11c61',1,'clutchlog::fmt::color_16M']]], - ['replace_85',['replace',['../classclutchlog.html#a972f895c70edc335f3018a2c8971d59e',1,'clutchlog::replace(const std::string &form, const std::string &mark, const std::string &tag) const'],['../classclutchlog.html#ae90d5a1a428587ad67b38b2ea4ca9fa2',1,'clutchlog::replace(const std::string &form, const std::string &mark, const size_t tag) const']]] + ['red_85',['red',['../structclutchlog_1_1fmt_1_1color__16_m.html#a19e1517a9afb75a4e6224f718ed11c61',1,'clutchlog::fmt::color_16M']]], + ['replace_86',['replace',['../classclutchlog.html#a972f895c70edc335f3018a2c8971d59e',1,'clutchlog::replace(const std::string &form, const std::string &mark, const std::string &tag) const'],['../classclutchlog.html#ae90d5a1a428587ad67b38b2ea4ca9fa2',1,'clutchlog::replace(const std::string &form, const std::string &mark, const size_t tag) const']]] ]; diff --git a/docs/search/all_e.js b/docs/search/all_e.js index f5bcee1..aaaf2c0 100644 --- a/docs/search/all_e.js +++ b/docs/search/all_e.js @@ -1,7 +1,7 @@ var searchData= [ - ['scope_5ft_86',['scope_t',['../structclutchlog_1_1scope__t.html',1,'clutchlog::scope_t'],['../structclutchlog_1_1scope__t.html#a0f1d865ffcf17f215e5559cdd2690572',1,'clutchlog::scope_t::scope_t()']]], - ['stage_87',['stage',['../structclutchlog_1_1scope__t.html#adcca6846ff90d436c61861db85917744',1,'clutchlog::scope_t']]], - ['str_88',['str',['../classclutchlog_1_1fmt.html#ab588e04e982b0b26ec979773d51ad41b',1,'clutchlog::fmt']]], - ['style_89',['style',['../classclutchlog_1_1fmt.html#a2bb0fde65fcd264393e102314dd1610b',1,'clutchlog::fmt::style()'],['../classclutchlog.html#ac3ec55057b9c734b66f169bf43dbd591',1,'clutchlog::style(level stage, FMT... styles)'],['../classclutchlog.html#ad1cfa9945c3f7f98fe8ce724c627d0d6',1,'clutchlog::style(level stage, fmt style)'],['../classclutchlog.html#a4831f44fd5ade102e57320632095934d',1,'clutchlog::style(level stage) const']]] + ['scope_5ft_87',['scope_t',['../structclutchlog_1_1scope__t.html',1,'clutchlog::scope_t'],['../structclutchlog_1_1scope__t.html#a0f1d865ffcf17f215e5559cdd2690572',1,'clutchlog::scope_t::scope_t()']]], + ['stage_88',['stage',['../structclutchlog_1_1scope__t.html#adcca6846ff90d436c61861db85917744',1,'clutchlog::scope_t']]], + ['str_89',['str',['../classclutchlog_1_1fmt.html#ab588e04e982b0b26ec979773d51ad41b',1,'clutchlog::fmt']]], + ['style_90',['style',['../classclutchlog_1_1fmt.html#a2bb0fde65fcd264393e102314dd1610b',1,'clutchlog::fmt::style()'],['../classclutchlog.html#ac3ec55057b9c734b66f169bf43dbd591',1,'clutchlog::style(level stage, FMT... styles)'],['../classclutchlog.html#ad1cfa9945c3f7f98fe8ce724c627d0d6',1,'clutchlog::style(level stage, fmt style)'],['../classclutchlog.html#a4831f44fd5ade102e57320632095934d',1,'clutchlog::style(level stage) const']]] ]; diff --git a/docs/search/all_f.js b/docs/search/all_f.js index e8e9cc8..bb7bbea 100644 --- a/docs/search/all_f.js +++ b/docs/search/all_f.js @@ -1,7 +1,7 @@ var searchData= [ - ['there_90',['there',['../structclutchlog_1_1scope__t.html#a7918e55cd3bac1bd30c69b8c711387ff',1,'clutchlog::scope_t']]], - ['threshold_91',['threshold',['../classclutchlog.html#a3cb0e4f43a4cadf1966001ad7c9861f4',1,'clutchlog::threshold(level l)'],['../classclutchlog.html#a7a7738eaad114bfa870121412fe23ad9',1,'clutchlog::threshold(const std::string &l)'],['../classclutchlog.html#ab45287cc9c14217904a13aff49573732',1,'clutchlog::threshold() const']]], - ['type_92',['type',['../structclutchlog_1_1fmt_1_1color.html#a3fd18c290567bd5c4971663a1aed12ae',1,'clutchlog::fmt::color']]], - ['typo_93',['typo',['../classclutchlog_1_1fmt.html#a932f47b78fb7b10590d5613a1c4eab89',1,'clutchlog::fmt']]] + ['there_91',['there',['../structclutchlog_1_1scope__t.html#a7918e55cd3bac1bd30c69b8c711387ff',1,'clutchlog::scope_t']]], + ['threshold_92',['threshold',['../classclutchlog.html#a3cb0e4f43a4cadf1966001ad7c9861f4',1,'clutchlog::threshold(level l)'],['../classclutchlog.html#a7a7738eaad114bfa870121412fe23ad9',1,'clutchlog::threshold(const std::string &l)'],['../classclutchlog.html#ab45287cc9c14217904a13aff49573732',1,'clutchlog::threshold() const']]], + ['type_93',['type',['../structclutchlog_1_1fmt_1_1color.html#a3fd18c290567bd5c4971663a1aed12ae',1,'clutchlog::fmt::color']]], + ['typo_94',['typo',['../classclutchlog_1_1fmt.html#a932f47b78fb7b10590d5613a1c4eab89',1,'clutchlog::fmt']]] ]; diff --git a/docs/search/classes_0.js b/docs/search/classes_0.js index 3265b18..480303d 100644 --- a/docs/search/classes_0.js +++ b/docs/search/classes_0.js @@ -1,5 +1,5 @@ var searchData= [ - ['bg_5f16m_95',['bg_16M',['../structclutchlog_1_1fmt_1_1bg__16_m.html',1,'clutchlog::fmt']]], - ['bg_5f256_96',['bg_256',['../structclutchlog_1_1fmt_1_1bg__256.html',1,'clutchlog::fmt']]] + ['bg_5f16m_96',['bg_16M',['../structclutchlog_1_1fmt_1_1bg__16_m.html',1,'clutchlog::fmt']]], + ['bg_5f256_97',['bg_256',['../structclutchlog_1_1fmt_1_1bg__256.html',1,'clutchlog::fmt']]] ]; diff --git a/docs/search/classes_1.js b/docs/search/classes_1.js index c84bdf2..6f68109 100644 --- a/docs/search/classes_1.js +++ b/docs/search/classes_1.js @@ -1,7 +1,7 @@ var searchData= [ - ['clutchlog_97',['clutchlog',['../classclutchlog.html',1,'']]], - ['color_98',['color',['../structclutchlog_1_1fmt_1_1color.html',1,'clutchlog::fmt']]], - ['color_5f16m_99',['color_16M',['../structclutchlog_1_1fmt_1_1color__16_m.html',1,'clutchlog::fmt']]], - ['color_5f256_100',['color_256',['../structclutchlog_1_1fmt_1_1color__256.html',1,'clutchlog::fmt']]] + ['clutchlog_98',['clutchlog',['../classclutchlog.html',1,'']]], + ['color_99',['color',['../structclutchlog_1_1fmt_1_1color.html',1,'clutchlog::fmt']]], + ['color_5f16m_100',['color_16M',['../structclutchlog_1_1fmt_1_1color__16_m.html',1,'clutchlog::fmt']]], + ['color_5f256_101',['color_256',['../structclutchlog_1_1fmt_1_1color__256.html',1,'clutchlog::fmt']]] ]; diff --git a/docs/search/classes_2.js b/docs/search/classes_2.js index a713fc7..c39128f 100644 --- a/docs/search/classes_2.js +++ b/docs/search/classes_2.js @@ -1,6 +1,6 @@ var searchData= [ - ['fg_5f16m_101',['fg_16M',['../structclutchlog_1_1fmt_1_1fg__16_m.html',1,'clutchlog::fmt']]], - ['fg_5f256_102',['fg_256',['../structclutchlog_1_1fmt_1_1fg__256.html',1,'clutchlog::fmt']]], - ['fmt_103',['fmt',['../classclutchlog_1_1fmt.html',1,'clutchlog']]] + ['fg_5f16m_102',['fg_16M',['../structclutchlog_1_1fmt_1_1fg__16_m.html',1,'clutchlog::fmt']]], + ['fg_5f256_103',['fg_256',['../structclutchlog_1_1fmt_1_1fg__256.html',1,'clutchlog::fmt']]], + ['fmt_104',['fmt',['../classclutchlog_1_1fmt.html',1,'clutchlog']]] ]; diff --git a/docs/search/classes_3.js b/docs/search/classes_3.js index 07226e8..5bb3aaf 100644 --- a/docs/search/classes_3.js +++ b/docs/search/classes_3.js @@ -1,4 +1,4 @@ var searchData= [ - ['scope_5ft_104',['scope_t',['../structclutchlog_1_1scope__t.html',1,'clutchlog']]] + ['scope_5ft_105',['scope_t',['../structclutchlog_1_1scope__t.html',1,'clutchlog']]] ]; diff --git a/docs/search/defines_0.js b/docs/search/defines_0.js index b191f75..8658828 100644 --- a/docs/search/defines_0.js +++ b/docs/search/defines_0.js @@ -1,6 +1,6 @@ var searchData= [ - ['clutchlog_5fh_178',['CLUTCHLOG_H',['../clutchlog_8h.html#a0acf7d306292cdee864356f0b433cc16',1,'clutchlog.h']]], - ['clutchlog_5fhave_5funix_5fsysinfo_179',['CLUTCHLOG_HAVE_UNIX_SYSINFO',['../clutchlog_8h.html#a6bbcf13504687db4dbe0474931d867fb',1,'clutchlog.h']]], - ['clutchlog_5fhave_5funix_5fsysioctl_180',['CLUTCHLOG_HAVE_UNIX_SYSIOCTL',['../clutchlog_8h.html#a6bddd1e1be320823da0d6b1d5cef7817',1,'clutchlog.h']]] + ['clutchlog_5fh_180',['CLUTCHLOG_H',['../clutchlog_8h.html#a0acf7d306292cdee864356f0b433cc16',1,'clutchlog.h']]], + ['clutchlog_5fhave_5funix_5fsysinfo_181',['CLUTCHLOG_HAVE_UNIX_SYSINFO',['../clutchlog_8h.html#a6bbcf13504687db4dbe0474931d867fb',1,'clutchlog.h']]], + ['clutchlog_5fhave_5funix_5fsysioctl_182',['CLUTCHLOG_HAVE_UNIX_SYSIOCTL',['../clutchlog_8h.html#a6bddd1e1be320823da0d6b1d5cef7817',1,'clutchlog.h']]] ]; diff --git a/docs/search/defines_1.js b/docs/search/defines_1.js index 60df034..db6d2b7 100644 --- a/docs/search/defines_1.js +++ b/docs/search/defines_1.js @@ -1,4 +1,4 @@ var searchData= [ - ['with_5fclutchlog_181',['WITH_CLUTCHLOG',['../clutchlog_8h.html#a5c126962abcc7a40e504a6fc3abdfcc4',1,'clutchlog.h']]] + ['with_5fclutchlog_183',['WITH_CLUTCHLOG',['../clutchlog_8h.html#a5c126962abcc7a40e504a6fc3abdfcc4',1,'clutchlog.h']]] ]; diff --git a/docs/search/enums_0.js b/docs/search/enums_0.js index fdd25d1..9dad809 100644 --- a/docs/search/enums_0.js +++ b/docs/search/enums_0.js @@ -1,4 +1,4 @@ var searchData= [ - ['ansi_168',['ansi',['../classclutchlog_1_1fmt.html#a4d0b3c87ba935addf3581b000c0d7502',1,'clutchlog::fmt']]] + ['ansi_170',['ansi',['../classclutchlog_1_1fmt.html#a4d0b3c87ba935addf3581b000c0d7502',1,'clutchlog::fmt']]] ]; diff --git a/docs/search/enums_1.js b/docs/search/enums_1.js index dc48c8f..467b08a 100644 --- a/docs/search/enums_1.js +++ b/docs/search/enums_1.js @@ -1,4 +1,4 @@ var searchData= [ - ['bg_169',['bg',['../group__colors16.html#ga1cf3e27e4041250ffea0a6d58010da1e',1,'clutchlog::fmt']]] + ['bg_171',['bg',['../group__colors16.html#ga1cf3e27e4041250ffea0a6d58010da1e',1,'clutchlog::fmt']]] ]; diff --git a/docs/search/enums_2.js b/docs/search/enums_2.js index f37152f..9245b03 100644 --- a/docs/search/enums_2.js +++ b/docs/search/enums_2.js @@ -1,4 +1,4 @@ var searchData= [ - ['fg_170',['fg',['../group__colors16.html#ga4662a3ec3577c6a575a2c734636ed8a0',1,'clutchlog::fmt']]] + ['fg_172',['fg',['../group__colors16.html#ga4662a3ec3577c6a575a2c734636ed8a0',1,'clutchlog::fmt']]] ]; diff --git a/docs/search/enums_3.js b/docs/search/enums_3.js index 1e10656..05bf7a1 100644 --- a/docs/search/enums_3.js +++ b/docs/search/enums_3.js @@ -1,4 +1,4 @@ var searchData= [ - ['ground_171',['ground',['../structclutchlog_1_1fmt_1_1color.html#ad4d10c015b3af3cc10d1cf40fe38e4f0',1,'clutchlog::fmt::color']]] + ['ground_173',['ground',['../structclutchlog_1_1fmt_1_1color.html#ad4d10c015b3af3cc10d1cf40fe38e4f0',1,'clutchlog::fmt::color']]] ]; diff --git a/docs/search/enums_4.js b/docs/search/enums_4.js index 6ec3b74..9d331b3 100644 --- a/docs/search/enums_4.js +++ b/docs/search/enums_4.js @@ -1,4 +1,4 @@ var searchData= [ - ['level_172',['level',['../classclutchlog.html#a10fd25a1b51c8c95bd6d876ce1b4b928',1,'clutchlog']]] + ['level_174',['level',['../classclutchlog.html#a10fd25a1b51c8c95bd6d876ce1b4b928',1,'clutchlog']]] ]; diff --git a/docs/search/enums_5.js b/docs/search/enums_5.js index 5ccb9ab..8f895c4 100644 --- a/docs/search/enums_5.js +++ b/docs/search/enums_5.js @@ -1,4 +1,4 @@ var searchData= [ - ['typo_173',['typo',['../classclutchlog_1_1fmt.html#a932f47b78fb7b10590d5613a1c4eab89',1,'clutchlog::fmt']]] + ['typo_175',['typo',['../classclutchlog_1_1fmt.html#a932f47b78fb7b10590d5613a1c4eab89',1,'clutchlog::fmt']]] ]; diff --git a/docs/search/enumvalues_0.js b/docs/search/enumvalues_0.js index 752fff6..dfac3fb 100644 --- a/docs/search/enumvalues_0.js +++ b/docs/search/enumvalues_0.js @@ -1,6 +1,6 @@ var searchData= [ - ['colors_5f16_174',['colors_16',['../classclutchlog_1_1fmt.html#a4d0b3c87ba935addf3581b000c0d7502a1e7cced329549fc4c2393381f068062e',1,'clutchlog::fmt']]], - ['colors_5f16m_175',['colors_16M',['../classclutchlog_1_1fmt.html#a4d0b3c87ba935addf3581b000c0d7502a1844e5aae3a3eefc500c545e3c35bcfa',1,'clutchlog::fmt']]], - ['colors_5f256_176',['colors_256',['../classclutchlog_1_1fmt.html#a4d0b3c87ba935addf3581b000c0d7502a7a3c32a8827eb17435511b4c7a429749',1,'clutchlog::fmt']]] + ['colors_5f16_176',['colors_16',['../classclutchlog_1_1fmt.html#a4d0b3c87ba935addf3581b000c0d7502a1e7cced329549fc4c2393381f068062e',1,'clutchlog::fmt']]], + ['colors_5f16m_177',['colors_16M',['../classclutchlog_1_1fmt.html#a4d0b3c87ba935addf3581b000c0d7502a1844e5aae3a3eefc500c545e3c35bcfa',1,'clutchlog::fmt']]], + ['colors_5f256_178',['colors_256',['../classclutchlog_1_1fmt.html#a4d0b3c87ba935addf3581b000c0d7502a7a3c32a8827eb17435511b4c7a429749',1,'clutchlog::fmt']]] ]; diff --git a/docs/search/files_0.js b/docs/search/files_0.js index 03a85aa..205c570 100644 --- a/docs/search/files_0.js +++ b/docs/search/files_0.js @@ -1,4 +1,4 @@ var searchData= [ - ['clutchlog_2eh_105',['clutchlog.h',['../clutchlog_8h.html',1,'']]] + ['clutchlog_2eh_106',['clutchlog.h',['../clutchlog_8h.html',1,'']]] ]; diff --git a/docs/search/functions_0.js b/docs/search/functions_0.js index ae13707..70f82e8 100644 --- a/docs/search/functions_0.js +++ b/docs/search/functions_0.js @@ -1,5 +1,5 @@ var searchData= [ - ['bg_5f16m_106',['bg_16M',['../structclutchlog_1_1fmt_1_1bg__16_m.html#a363c314ab6a8aa22951b5500d7a78ad0',1,'clutchlog::fmt::bg_16M::bg_16M()'],['../structclutchlog_1_1fmt_1_1bg__16_m.html#ace018922ae99f32b48bf5cacaec91501',1,'clutchlog::fmt::bg_16M::bg_16M(short r, short g, short b)'],['../structclutchlog_1_1fmt_1_1bg__16_m.html#adcd5bd1e69e76e3b36015cf687693c97',1,'clutchlog::fmt::bg_16M::bg_16M(const std::string &srgb)'],['../structclutchlog_1_1fmt_1_1bg__16_m.html#a68f8cb4ab78a1cfb3b7b8e1e95bee11d',1,'clutchlog::fmt::bg_16M::bg_16M(const bg &)']]], - ['bg_5f256_107',['bg_256',['../structclutchlog_1_1fmt_1_1bg__256.html#a0d244a542b6b98a373f8b1f9e92a6a90',1,'clutchlog::fmt::bg_256::bg_256()'],['../structclutchlog_1_1fmt_1_1bg__256.html#a83c663b1a9f00ba7ba7649c9c5605fad',1,'clutchlog::fmt::bg_256::bg_256(const short b)'],['../structclutchlog_1_1fmt_1_1bg__256.html#a096d302be7373acaaf225644683408bd',1,'clutchlog::fmt::bg_256::bg_256(const bg &)']]] + ['bg_5f16m_107',['bg_16M',['../structclutchlog_1_1fmt_1_1bg__16_m.html#a363c314ab6a8aa22951b5500d7a78ad0',1,'clutchlog::fmt::bg_16M::bg_16M()'],['../structclutchlog_1_1fmt_1_1bg__16_m.html#ace018922ae99f32b48bf5cacaec91501',1,'clutchlog::fmt::bg_16M::bg_16M(short r, short g, short b)'],['../structclutchlog_1_1fmt_1_1bg__16_m.html#adcd5bd1e69e76e3b36015cf687693c97',1,'clutchlog::fmt::bg_16M::bg_16M(const std::string &srgb)'],['../structclutchlog_1_1fmt_1_1bg__16_m.html#a68f8cb4ab78a1cfb3b7b8e1e95bee11d',1,'clutchlog::fmt::bg_16M::bg_16M(const bg &)']]], + ['bg_5f256_108',['bg_256',['../structclutchlog_1_1fmt_1_1bg__256.html#a0d244a542b6b98a373f8b1f9e92a6a90',1,'clutchlog::fmt::bg_256::bg_256()'],['../structclutchlog_1_1fmt_1_1bg__256.html#a83c663b1a9f00ba7ba7649c9c5605fad',1,'clutchlog::fmt::bg_256::bg_256(const short b)'],['../structclutchlog_1_1fmt_1_1bg__256.html#a096d302be7373acaaf225644683408bd',1,'clutchlog::fmt::bg_256::bg_256(const bg &)']]] ]; diff --git a/docs/search/functions_1.js b/docs/search/functions_1.js index 43737c6..e566df4 100644 --- a/docs/search/functions_1.js +++ b/docs/search/functions_1.js @@ -1,6 +1,6 @@ var searchData= [ - ['color_108',['color',['../structclutchlog_1_1fmt_1_1color.html#a741d0165287350d8fcacb1f472ce5dac',1,'clutchlog::fmt::color']]], - ['color_5f16m_109',['color_16M',['../structclutchlog_1_1fmt_1_1color__16_m.html#aea10e881fb9b570267f5751fb67c4282',1,'clutchlog::fmt::color_16M::color_16M(ground t)'],['../structclutchlog_1_1fmt_1_1color__16_m.html#a36d9cf42044fec34b7858142d86137d3',1,'clutchlog::fmt::color_16M::color_16M(ground t, short r, short g, short b)'],['../structclutchlog_1_1fmt_1_1color__16_m.html#a55e39e7eb3ced3095c00914eff52470c',1,'clutchlog::fmt::color_16M::color_16M(ground t, const std::string &srgb)']]], - ['color_5f256_110',['color_256',['../structclutchlog_1_1fmt_1_1color__256.html#a12fdff3c5c4edbf952aaa31519f0171c',1,'clutchlog::fmt::color_256::color_256(ground t)'],['../structclutchlog_1_1fmt_1_1color__256.html#a1b68065b35141c018b33c3f2c45f5726',1,'clutchlog::fmt::color_256::color_256(ground t, const short i)']]] + ['color_109',['color',['../structclutchlog_1_1fmt_1_1color.html#a741d0165287350d8fcacb1f472ce5dac',1,'clutchlog::fmt::color']]], + ['color_5f16m_110',['color_16M',['../structclutchlog_1_1fmt_1_1color__16_m.html#aea10e881fb9b570267f5751fb67c4282',1,'clutchlog::fmt::color_16M::color_16M(ground t)'],['../structclutchlog_1_1fmt_1_1color__16_m.html#a36d9cf42044fec34b7858142d86137d3',1,'clutchlog::fmt::color_16M::color_16M(ground t, short r, short g, short b)'],['../structclutchlog_1_1fmt_1_1color__16_m.html#a55e39e7eb3ced3095c00914eff52470c',1,'clutchlog::fmt::color_16M::color_16M(ground t, const std::string &srgb)']]], + ['color_5f256_111',['color_256',['../structclutchlog_1_1fmt_1_1color__256.html#a12fdff3c5c4edbf952aaa31519f0171c',1,'clutchlog::fmt::color_256::color_256(ground t)'],['../structclutchlog_1_1fmt_1_1color__256.html#a1b68065b35141c018b33c3f2c45f5726',1,'clutchlog::fmt::color_256::color_256(ground t, const short i)']]] ]; diff --git a/docs/search/functions_2.js b/docs/search/functions_2.js index 4dd581e..0acd491 100644 --- a/docs/search/functions_2.js +++ b/docs/search/functions_2.js @@ -1,4 +1,4 @@ var searchData= [ - ['dump_111',['dump',['../classclutchlog.html#a63308e8deae3cfec6801318203494143',1,'clutchlog']]] + ['dump_112',['dump',['../classclutchlog.html#a63308e8deae3cfec6801318203494143',1,'clutchlog']]] ]; diff --git a/docs/search/functions_3.js b/docs/search/functions_3.js index 9265fd8..52f6969 100644 --- a/docs/search/functions_3.js +++ b/docs/search/functions_3.js @@ -1,10 +1,10 @@ var searchData= [ - ['fg_5f16m_112',['fg_16M',['../structclutchlog_1_1fmt_1_1fg__16_m.html#a984525f33eb86b7f8b3e5d0874611194',1,'clutchlog::fmt::fg_16M::fg_16M()'],['../structclutchlog_1_1fmt_1_1fg__16_m.html#a531b717b8d78a0a5929fa90d0a01d7e5',1,'clutchlog::fmt::fg_16M::fg_16M(short r, short g, short b)'],['../structclutchlog_1_1fmt_1_1fg__16_m.html#abc768d6b7c2139c14f210755108006d3',1,'clutchlog::fmt::fg_16M::fg_16M(const std::string &srgb)'],['../structclutchlog_1_1fmt_1_1fg__16_m.html#a9da40a4a7ff3b80f028f26322f59eba8',1,'clutchlog::fmt::fg_16M::fg_16M(const fg &)']]], - ['fg_5f256_113',['fg_256',['../structclutchlog_1_1fmt_1_1fg__256.html#a97c241e9f80c63d269953cc525a72c7a',1,'clutchlog::fmt::fg_256::fg_256()'],['../structclutchlog_1_1fmt_1_1fg__256.html#a6df3d848db0e55c79709fb4565cbfd59',1,'clutchlog::fmt::fg_256::fg_256(const short f)'],['../structclutchlog_1_1fmt_1_1fg__256.html#a501fff36520f20ba4973ba3848fb9c23',1,'clutchlog::fmt::fg_256::fg_256(const fg &)']]], - ['file_114',['file',['../classclutchlog.html#a10064493c22f5c03b502a42d814c5c5c',1,'clutchlog']]], - ['fmt_115',['fmt',['../classclutchlog_1_1fmt.html#a407506bc02ed3f91d88b3df630e54959',1,'clutchlog::fmt']]], - ['format_116',['format',['../classclutchlog.html#a656c277e074b64728cca871f2b484d1c',1,'clutchlog::format(const std::string &format)'],['../classclutchlog.html#afc53dbca51d0e2322a21899d0c571a80',1,'clutchlog::format() const'],['../classclutchlog.html#abd692cca9a2e772e7c9d6531bb3c7761',1,'clutchlog::format(std::string row, const std::string &what, const level &stage, const std::string &file, const std::string &func, const size_t line) const']]], - ['format_5fcomment_117',['format_comment',['../classclutchlog.html#a2144abe4ec6f630126b6490908b5f924',1,'clutchlog::format_comment(const std::string &format)'],['../classclutchlog.html#aa8d0a569ed3623ce36c5e567ec2d1ad5',1,'clutchlog::format_comment() const']]], - ['func_118',['func',['../classclutchlog.html#ad32b5a0274dc03ee0004f67ba58b2447',1,'clutchlog']]] + ['fg_5f16m_113',['fg_16M',['../structclutchlog_1_1fmt_1_1fg__16_m.html#a984525f33eb86b7f8b3e5d0874611194',1,'clutchlog::fmt::fg_16M::fg_16M()'],['../structclutchlog_1_1fmt_1_1fg__16_m.html#a531b717b8d78a0a5929fa90d0a01d7e5',1,'clutchlog::fmt::fg_16M::fg_16M(short r, short g, short b)'],['../structclutchlog_1_1fmt_1_1fg__16_m.html#abc768d6b7c2139c14f210755108006d3',1,'clutchlog::fmt::fg_16M::fg_16M(const std::string &srgb)'],['../structclutchlog_1_1fmt_1_1fg__16_m.html#a9da40a4a7ff3b80f028f26322f59eba8',1,'clutchlog::fmt::fg_16M::fg_16M(const fg &)']]], + ['fg_5f256_114',['fg_256',['../structclutchlog_1_1fmt_1_1fg__256.html#a97c241e9f80c63d269953cc525a72c7a',1,'clutchlog::fmt::fg_256::fg_256()'],['../structclutchlog_1_1fmt_1_1fg__256.html#a6df3d848db0e55c79709fb4565cbfd59',1,'clutchlog::fmt::fg_256::fg_256(const short f)'],['../structclutchlog_1_1fmt_1_1fg__256.html#a501fff36520f20ba4973ba3848fb9c23',1,'clutchlog::fmt::fg_256::fg_256(const fg &)']]], + ['file_115',['file',['../classclutchlog.html#a10064493c22f5c03b502a42d814c5c5c',1,'clutchlog']]], + ['fmt_116',['fmt',['../classclutchlog_1_1fmt.html#a407506bc02ed3f91d88b3df630e54959',1,'clutchlog::fmt']]], + ['format_117',['format',['../classclutchlog.html#a656c277e074b64728cca871f2b484d1c',1,'clutchlog::format(const std::string &format)'],['../classclutchlog.html#afc53dbca51d0e2322a21899d0c571a80',1,'clutchlog::format() const'],['../classclutchlog.html#abd692cca9a2e772e7c9d6531bb3c7761',1,'clutchlog::format(std::string row, const std::string &what, const level &stage, const std::string &file, const std::string &func, const size_t line) const']]], + ['format_5fcomment_118',['format_comment',['../classclutchlog.html#a2144abe4ec6f630126b6490908b5f924',1,'clutchlog::format_comment(const std::string &format)'],['../classclutchlog.html#aa8d0a569ed3623ce36c5e567ec2d1ad5',1,'clutchlog::format_comment() const']]], + ['func_119',['func',['../classclutchlog.html#ad32b5a0274dc03ee0004f67ba58b2447',1,'clutchlog']]] ]; diff --git a/docs/search/functions_4.js b/docs/search/functions_4.js index 1e23d48..194301d 100644 --- a/docs/search/functions_4.js +++ b/docs/search/functions_4.js @@ -1,4 +1,4 @@ var searchData= [ - ['is_5fset_119',['is_set',['../structclutchlog_1_1fmt_1_1color.html#a96d7161ef1e7cc631ae670cd3f364603',1,'clutchlog::fmt::color::is_set()'],['../structclutchlog_1_1fmt_1_1color__256.html#ad79557682cec1c053dda258581972111',1,'clutchlog::fmt::color_256::is_set()'],['../structclutchlog_1_1fmt_1_1color__16_m.html#a780c11e42bb140732ffd37cf4eef9e1d',1,'clutchlog::fmt::color_16M::is_set()']]] + ['is_5fset_120',['is_set',['../structclutchlog_1_1fmt_1_1color.html#a96d7161ef1e7cc631ae670cd3f364603',1,'clutchlog::fmt::color::is_set()'],['../structclutchlog_1_1fmt_1_1color__256.html#ad79557682cec1c053dda258581972111',1,'clutchlog::fmt::color_256::is_set()'],['../structclutchlog_1_1fmt_1_1color__16_m.html#a780c11e42bb140732ffd37cf4eef9e1d',1,'clutchlog::fmt::color_16M::is_set()']]] ]; diff --git a/docs/search/functions_5.js b/docs/search/functions_5.js index 230758b..6c591f7 100644 --- a/docs/search/functions_5.js +++ b/docs/search/functions_5.js @@ -1,10 +1,10 @@ var searchData= [ - ['level_5fof_120',['level_of',['../classclutchlog.html#acebed8c9df9204f22bf8488e62e1cedd',1,'clutchlog']]], - ['levels_121',['levels',['../classclutchlog.html#aff3aa09fb60f7d6dc688c028d3834d8a',1,'clutchlog']]], - ['line_122',['line',['../classclutchlog.html#aa26c6b81ebaeb9e9daa3457e3a3d17c9',1,'clutchlog']]], - ['locate_123',['locate',['../classclutchlog.html#a4ebdfcded6c56262676bf6926d63fc96',1,'clutchlog']]], - ['location_124',['location',['../classclutchlog.html#a6666106b9e5c239b6ae5e0d1091648e3',1,'clutchlog']]], - ['log_125',['log',['../classclutchlog.html#a23dbb98f0d3c5cc21c232cde16cf317a',1,'clutchlog']]], - ['logger_126',['logger',['../classclutchlog.html#acfaceb77da01503b432644a3efaee4fa',1,'clutchlog']]] + ['level_5fof_121',['level_of',['../classclutchlog.html#acebed8c9df9204f22bf8488e62e1cedd',1,'clutchlog']]], + ['levels_122',['levels',['../classclutchlog.html#aff3aa09fb60f7d6dc688c028d3834d8a',1,'clutchlog']]], + ['line_123',['line',['../classclutchlog.html#aa26c6b81ebaeb9e9daa3457e3a3d17c9',1,'clutchlog']]], + ['locate_124',['locate',['../classclutchlog.html#a4ebdfcded6c56262676bf6926d63fc96',1,'clutchlog']]], + ['location_125',['location',['../classclutchlog.html#a6666106b9e5c239b6ae5e0d1091648e3',1,'clutchlog']]], + ['log_126',['log',['../classclutchlog.html#a23dbb98f0d3c5cc21c232cde16cf317a',1,'clutchlog']]], + ['logger_127',['logger',['../classclutchlog.html#acfaceb77da01503b432644a3efaee4fa',1,'clutchlog']]] ]; diff --git a/docs/search/functions_6.js b/docs/search/functions_6.js index 9f8132c..7d8a25b 100644 --- a/docs/search/functions_6.js +++ b/docs/search/functions_6.js @@ -1,5 +1,5 @@ var searchData= [ - ['operator_28_29_127',['operator()',['../classclutchlog_1_1fmt.html#afeaedd18298498d1dcfcc15f5f17ac3c',1,'clutchlog::fmt']]], - ['out_128',['out',['../classclutchlog.html#a7fd7c7bd3668c537061c314a619a336d',1,'clutchlog::out(std::ostream &out)'],['../classclutchlog.html#a6c6ab42a1df147e6c2d115bc36ec8266',1,'clutchlog::out()']]] + ['operator_28_29_128',['operator()',['../classclutchlog_1_1fmt.html#afeaedd18298498d1dcfcc15f5f17ac3c',1,'clutchlog::fmt']]], + ['out_129',['out',['../classclutchlog.html#a7fd7c7bd3668c537061c314a619a336d',1,'clutchlog::out(std::ostream &out)'],['../classclutchlog.html#a6c6ab42a1df147e6c2d115bc36ec8266',1,'clutchlog::out()']]] ]; diff --git a/docs/search/functions_7.js b/docs/search/functions_7.js index c821684..e11b2b1 100644 --- a/docs/search/functions_7.js +++ b/docs/search/functions_7.js @@ -1,4 +1,4 @@ var searchData= [ - ['print_5fon_129',['print_on',['../structclutchlog_1_1fmt_1_1color.html#aa75e958436afe333924b6db3e5f0821f',1,'clutchlog::fmt::color::print_on()'],['../structclutchlog_1_1fmt_1_1color__256.html#aaae6106a11eddade981172324a43df68',1,'clutchlog::fmt::color_256::print_on()'],['../structclutchlog_1_1fmt_1_1color__16_m.html#a674910195e7bb14d78f0cf56c308a47e',1,'clutchlog::fmt::color_16M::print_on()'],['../classclutchlog_1_1fmt.html#a0b607e343b6813b99eafca1fdfec9cd0',1,'clutchlog::fmt::print_on()']]] + ['print_5fon_130',['print_on',['../structclutchlog_1_1fmt_1_1color.html#aa75e958436afe333924b6db3e5f0821f',1,'clutchlog::fmt::color::print_on()'],['../structclutchlog_1_1fmt_1_1color__256.html#aaae6106a11eddade981172324a43df68',1,'clutchlog::fmt::color_256::print_on()'],['../structclutchlog_1_1fmt_1_1color__16_m.html#a674910195e7bb14d78f0cf56c308a47e',1,'clutchlog::fmt::color_16M::print_on()'],['../classclutchlog_1_1fmt.html#a0b607e343b6813b99eafca1fdfec9cd0',1,'clutchlog::fmt::print_on()']]] ]; diff --git a/docs/search/functions_8.js b/docs/search/functions_8.js index c5d5eff..751d9ae 100644 --- a/docs/search/functions_8.js +++ b/docs/search/functions_8.js @@ -1,4 +1,4 @@ var searchData= [ - ['replace_130',['replace',['../classclutchlog.html#a972f895c70edc335f3018a2c8971d59e',1,'clutchlog::replace(const std::string &form, const std::string &mark, const std::string &tag) const'],['../classclutchlog.html#ae90d5a1a428587ad67b38b2ea4ca9fa2',1,'clutchlog::replace(const std::string &form, const std::string &mark, const size_t tag) const']]] + ['replace_131',['replace',['../classclutchlog.html#a972f895c70edc335f3018a2c8971d59e',1,'clutchlog::replace(const std::string &form, const std::string &mark, const std::string &tag) const'],['../classclutchlog.html#ae90d5a1a428587ad67b38b2ea4ca9fa2',1,'clutchlog::replace(const std::string &form, const std::string &mark, const size_t tag) const']]] ]; diff --git a/docs/search/functions_9.js b/docs/search/functions_9.js index 4255918..475908d 100644 --- a/docs/search/functions_9.js +++ b/docs/search/functions_9.js @@ -1,6 +1,6 @@ var searchData= [ - ['scope_5ft_131',['scope_t',['../structclutchlog_1_1scope__t.html#a0f1d865ffcf17f215e5559cdd2690572',1,'clutchlog::scope_t']]], - ['str_132',['str',['../classclutchlog_1_1fmt.html#ab588e04e982b0b26ec979773d51ad41b',1,'clutchlog::fmt']]], - ['style_133',['style',['../classclutchlog.html#ac3ec55057b9c734b66f169bf43dbd591',1,'clutchlog::style(level stage, FMT... styles)'],['../classclutchlog.html#ad1cfa9945c3f7f98fe8ce724c627d0d6',1,'clutchlog::style(level stage, fmt style)'],['../classclutchlog.html#a4831f44fd5ade102e57320632095934d',1,'clutchlog::style(level stage) const']]] + ['scope_5ft_132',['scope_t',['../structclutchlog_1_1scope__t.html#a0f1d865ffcf17f215e5559cdd2690572',1,'clutchlog::scope_t']]], + ['str_133',['str',['../classclutchlog_1_1fmt.html#ab588e04e982b0b26ec979773d51ad41b',1,'clutchlog::fmt']]], + ['style_134',['style',['../classclutchlog.html#ac3ec55057b9c734b66f169bf43dbd591',1,'clutchlog::style(level stage, FMT... styles)'],['../classclutchlog.html#ad1cfa9945c3f7f98fe8ce724c627d0d6',1,'clutchlog::style(level stage, fmt style)'],['../classclutchlog.html#a4831f44fd5ade102e57320632095934d',1,'clutchlog::style(level stage) const']]] ]; diff --git a/docs/search/functions_a.js b/docs/search/functions_a.js index 88da923..c4eb686 100644 --- a/docs/search/functions_a.js +++ b/docs/search/functions_a.js @@ -1,4 +1,4 @@ var searchData= [ - ['threshold_134',['threshold',['../classclutchlog.html#a3cb0e4f43a4cadf1966001ad7c9861f4',1,'clutchlog::threshold(level l)'],['../classclutchlog.html#a7a7738eaad114bfa870121412fe23ad9',1,'clutchlog::threshold(const std::string &l)'],['../classclutchlog.html#ab45287cc9c14217904a13aff49573732',1,'clutchlog::threshold() const']]] + ['threshold_135',['threshold',['../classclutchlog.html#a3cb0e4f43a4cadf1966001ad7c9861f4',1,'clutchlog::threshold(level l)'],['../classclutchlog.html#a7a7738eaad114bfa870121412fe23ad9',1,'clutchlog::threshold(const std::string &l)'],['../classclutchlog.html#ab45287cc9c14217904a13aff49573732',1,'clutchlog::threshold() const']]] ]; diff --git a/docs/search/groups_0.js b/docs/search/groups_0.js index cc2af52..3333c66 100644 --- a/docs/search/groups_0.js +++ b/docs/search/groups_0.js @@ -1,4 +1,4 @@ var searchData= [ - ['colors_20management_20in_2016_20colors_20mode_20_284_2dbits_20ansi_29_2e_182',['Colors management in 16 colors mode (4-bits ANSI).',['../group__colors16.html',1,'']]] + ['colors_20management_20in_2016_20colors_20mode_20_284_2dbits_20ansi_29_2e_184',['Colors management in 16 colors mode (4-bits ANSI).',['../group__colors16.html',1,'']]] ]; diff --git a/docs/search/groups_1.js b/docs/search/groups_1.js index 480ce8b..521455e 100644 --- a/docs/search/groups_1.js +++ b/docs/search/groups_1.js @@ -1,4 +1,4 @@ var searchData= [ - ['default_20configuration_20management_183',['Default configuration management',['../group___default_config.html',1,'']]] + ['default_20configuration_20management_185',['Default configuration management',['../group___default_config.html',1,'']]] ]; diff --git a/docs/search/groups_2.js b/docs/search/groups_2.js index a01e4af..5481d50 100644 --- a/docs/search/groups_2.js +++ b/docs/search/groups_2.js @@ -1,4 +1,4 @@ var searchData= [ - ['formating_20tools_184',['Formating tools',['../group___formating.html',1,'']]] + ['formating_20tools_186',['Formating tools',['../group___formating.html',1,'']]] ]; diff --git a/docs/search/groups_3.js b/docs/search/groups_3.js index b951f5b..52a5805 100644 --- a/docs/search/groups_3.js +++ b/docs/search/groups_3.js @@ -1,4 +1,4 @@ var searchData= [ - ['high_2dlevel_20api_20macros_185',['High-level API macros',['../group___use_macros.html',1,'']]] + ['high_2dlevel_20api_20macros_187',['High-level API macros',['../group___use_macros.html',1,'']]] ]; diff --git a/docs/search/groups_4.js b/docs/search/groups_4.js index ae36a3e..311b56a 100644 --- a/docs/search/groups_4.js +++ b/docs/search/groups_4.js @@ -1,4 +1,4 @@ var searchData= [ - ['internal_20colors_20management_20in_20256_20and_2016m_20colors_20modes_2e_186',['Internal colors management in 256 and 16M colors modes.',['../group__colors256__16_m.html',1,'']]] + ['internal_20colors_20management_20in_20256_20and_2016m_20colors_20modes_2e_188',['Internal colors management in 256 and 16M colors modes.',['../group__colors256__16_m.html',1,'']]] ]; diff --git a/docs/search/groups_5.js b/docs/search/groups_5.js index 8804074..52b3e99 100644 --- a/docs/search/groups_5.js +++ b/docs/search/groups_5.js @@ -1,4 +1,4 @@ var searchData= [ - ['main_20class_187',['Main class',['../group___main.html',1,'']]] + ['main_20class_189',['Main class',['../group___main.html',1,'']]] ]; diff --git a/docs/search/pages_0.js b/docs/search/pages_0.js index de1d3c5..27ca0fa 100644 --- a/docs/search/pages_0.js +++ b/docs/search/pages_0.js @@ -1,4 +1,4 @@ var searchData= [ - ['clutchlog_20—_20versatile_20_28de_29clutchable_20spatial_20logging_188',['Clutchlog — versatile (de)clutchable spatial logging',['../index.html',1,'']]] + ['clutchlog_20—_20versatile_20_28de_29clutchable_20spatial_20logging_190',['Clutchlog — versatile (de)clutchable spatial logging',['../index.html',1,'']]] ]; diff --git a/docs/search/related_0.js b/docs/search/related_0.js index 0363800..a5e9afa 100644 --- a/docs/search/related_0.js +++ b/docs/search/related_0.js @@ -1,4 +1,4 @@ var searchData= [ - ['operator_3c_3c_177',['operator<<',['../group__colors16.html#ga5a697f5ad3326ea25b139e25252b4cf7',1,'clutchlog::fmt::operator<<()'],['../group__colors16.html#ga379b0af834c7c561edc5c1e3a3427a33',1,'clutchlog::fmt::operator<<()'],['../structclutchlog_1_1fmt_1_1color.html#a826e3d3eba925608442439d6bc3a95a6',1,'clutchlog::fmt::color::operator<<()'],['../classclutchlog_1_1fmt.html#a96849ba427feac3a2eeaa1165e3845da',1,'clutchlog::fmt::operator<<()']]] + ['operator_3c_3c_179',['operator<<',['../group__colors16.html#ga5a697f5ad3326ea25b139e25252b4cf7',1,'clutchlog::fmt::operator<<()'],['../group__colors16.html#ga379b0af834c7c561edc5c1e3a3427a33',1,'clutchlog::fmt::operator<<()'],['../structclutchlog_1_1fmt_1_1color.html#a826e3d3eba925608442439d6bc3a95a6',1,'clutchlog::fmt::color::operator<<()'],['../classclutchlog_1_1fmt.html#a96849ba427feac3a2eeaa1165e3845da',1,'clutchlog::fmt::operator<<()']]] ]; diff --git a/docs/search/variables_0.js b/docs/search/variables_0.js index b64f198..27dd7d9 100644 --- a/docs/search/variables_0.js +++ b/docs/search/variables_0.js @@ -1,14 +1,15 @@ var searchData= [ - ['_5fformat_5fdump_135',['_format_dump',['../classclutchlog.html#a5f4ddb57ce42e8be86a7c7d269f7bae5',1,'clutchlog']]], - ['_5fformat_5flog_136',['_format_log',['../classclutchlog.html#a7c6e3fc082bc6f55d50131ed2b32e81e',1,'clutchlog']]], - ['_5fin_5ffile_137',['_in_file',['../classclutchlog.html#aded03528f34d9000f618419c482c5042',1,'clutchlog']]], - ['_5fin_5ffunc_138',['_in_func',['../classclutchlog.html#a130c4f12eacbd2028102838fe16b734e',1,'clutchlog']]], - ['_5fin_5fline_139',['_in_line',['../classclutchlog.html#a41757198b29862832a14472a9e5e24c6',1,'clutchlog']]], - ['_5flevel_5ffmt_140',['_level_fmt',['../classclutchlog.html#ab805ac5c33885459f9f752518a4aa735',1,'clutchlog']]], - ['_5flevel_5fword_141',['_level_word',['../classclutchlog.html#ab1c377a376e6772fe1746ff7147c125f',1,'clutchlog']]], - ['_5fout_142',['_out',['../classclutchlog.html#a1896f6c4b8597e3e76ff93970bd85167',1,'clutchlog']]], - ['_5fstage_143',['_stage',['../classclutchlog.html#aeb60684c89bcef5aa9273075c21cc993',1,'clutchlog']]], - ['_5fstrip_5fcalls_144',['_strip_calls',['../classclutchlog.html#a356df86455409193792b6ed550dfd09e',1,'clutchlog']]], - ['_5fword_5flevel_145',['_word_level',['../classclutchlog.html#abd4625bf211bfbaa30d9c126fa3d7888',1,'clutchlog']]] + ['_5fformat_5fdump_136',['_format_dump',['../classclutchlog.html#a5f4ddb57ce42e8be86a7c7d269f7bae5',1,'clutchlog']]], + ['_5fformat_5flog_137',['_format_log',['../classclutchlog.html#a7c6e3fc082bc6f55d50131ed2b32e81e',1,'clutchlog']]], + ['_5fin_5ffile_138',['_in_file',['../classclutchlog.html#aded03528f34d9000f618419c482c5042',1,'clutchlog']]], + ['_5fin_5ffunc_139',['_in_func',['../classclutchlog.html#a130c4f12eacbd2028102838fe16b734e',1,'clutchlog']]], + ['_5fin_5fline_140',['_in_line',['../classclutchlog.html#a41757198b29862832a14472a9e5e24c6',1,'clutchlog']]], + ['_5flevel_5ffmt_141',['_level_fmt',['../classclutchlog.html#ab805ac5c33885459f9f752518a4aa735',1,'clutchlog']]], + ['_5flevel_5fshort_142',['_level_short',['../classclutchlog.html#a08e8a817a75a4e9f0159231c941e0dae',1,'clutchlog']]], + ['_5flevel_5fword_143',['_level_word',['../classclutchlog.html#ab1c377a376e6772fe1746ff7147c125f',1,'clutchlog']]], + ['_5fout_144',['_out',['../classclutchlog.html#a1896f6c4b8597e3e76ff93970bd85167',1,'clutchlog']]], + ['_5fstage_145',['_stage',['../classclutchlog.html#aeb60684c89bcef5aa9273075c21cc993',1,'clutchlog']]], + ['_5fstrip_5fcalls_146',['_strip_calls',['../classclutchlog.html#a356df86455409193792b6ed550dfd09e',1,'clutchlog']]], + ['_5fword_5flevel_147',['_word_level',['../classclutchlog.html#abd4625bf211bfbaa30d9c126fa3d7888',1,'clutchlog']]] ]; diff --git a/docs/search/variables_1.js b/docs/search/variables_1.js index 8ba7568..24ccd13 100644 --- a/docs/search/variables_1.js +++ b/docs/search/variables_1.js @@ -1,6 +1,6 @@ var searchData= [ - ['back_146',['back',['../group__colors16.html#ga86696b20e5b31c96ba592926efb324f3',1,'clutchlog::fmt']]], - ['back_5f16m_147',['back_16M',['../group__colors256__16_m.html#gaa2fcbb402dc2426d3720b8bc78a80ec0',1,'clutchlog::fmt']]], - ['back_5f256_148',['back_256',['../group__colors256__16_m.html#ga1d687af385957846034568c3a62d4ef0',1,'clutchlog::fmt']]] + ['back_148',['back',['../group__colors16.html#ga86696b20e5b31c96ba592926efb324f3',1,'clutchlog::fmt']]], + ['back_5f16m_149',['back_16M',['../group__colors256__16_m.html#gaa2fcbb402dc2426d3720b8bc78a80ec0',1,'clutchlog::fmt']]], + ['back_5f256_150',['back_256',['../group__colors256__16_m.html#ga1d687af385957846034568c3a62d4ef0',1,'clutchlog::fmt']]] ]; diff --git a/docs/search/variables_2.js b/docs/search/variables_2.js index 4eea7de..c56b083 100644 --- a/docs/search/variables_2.js +++ b/docs/search/variables_2.js @@ -1,11 +1,11 @@ var searchData= [ - ['default_5fdepth_5fmark_149',['default_depth_mark',['../classclutchlog.html#a229fd61519f1245282440120f2d45fb5',1,'clutchlog']]], - ['default_5fformat_150',['default_format',['../classclutchlog.html#a0c4ac57601e6f8d146fd5cc060968ecc',1,'clutchlog']]], - ['default_5fhfill_5fchar_151',['default_hfill_char',['../classclutchlog.html#a76eb34537b634aadb75e255f7887eeb6',1,'clutchlog']]], - ['default_5fhfill_5fmax_152',['default_hfill_max',['../classclutchlog.html#ac95630bfe9cf547d2b7c4b3430eaedc1',1,'clutchlog']]], - ['default_5fhfill_5fmin_153',['default_hfill_min',['../classclutchlog.html#a5a9a98c3528117223ceff22bc6bee5f7',1,'clutchlog']]], - ['default_5fstrip_5fcalls_154',['default_strip_calls',['../classclutchlog.html#a1a8cb6411726133208f5a2f2cb42d468',1,'clutchlog']]], - ['dump_5fdefault_5fformat_155',['dump_default_format',['../classclutchlog.html#ace879554298e6e6e36dafef330c27be8',1,'clutchlog']]], - ['dump_5fdefault_5fsep_156',['dump_default_sep',['../classclutchlog.html#af898bffe23b125245e338d7495c76d45',1,'clutchlog']]] + ['default_5fdepth_5fmark_151',['default_depth_mark',['../classclutchlog.html#a229fd61519f1245282440120f2d45fb5',1,'clutchlog']]], + ['default_5fformat_152',['default_format',['../classclutchlog.html#a0c4ac57601e6f8d146fd5cc060968ecc',1,'clutchlog']]], + ['default_5fhfill_5fchar_153',['default_hfill_char',['../classclutchlog.html#a76eb34537b634aadb75e255f7887eeb6',1,'clutchlog']]], + ['default_5fhfill_5fmax_154',['default_hfill_max',['../classclutchlog.html#ac95630bfe9cf547d2b7c4b3430eaedc1',1,'clutchlog']]], + ['default_5fhfill_5fmin_155',['default_hfill_min',['../classclutchlog.html#a5a9a98c3528117223ceff22bc6bee5f7',1,'clutchlog']]], + ['default_5fstrip_5fcalls_156',['default_strip_calls',['../classclutchlog.html#a1a8cb6411726133208f5a2f2cb42d468',1,'clutchlog']]], + ['dump_5fdefault_5fformat_157',['dump_default_format',['../classclutchlog.html#ace879554298e6e6e36dafef330c27be8',1,'clutchlog']]], + ['dump_5fdefault_5fsep_158',['dump_default_sep',['../classclutchlog.html#af898bffe23b125245e338d7495c76d45',1,'clutchlog']]] ]; diff --git a/docs/search/variables_3.js b/docs/search/variables_3.js index 0157814..b1dba74 100644 --- a/docs/search/variables_3.js +++ b/docs/search/variables_3.js @@ -1,6 +1,6 @@ var searchData= [ - ['fore_157',['fore',['../group__colors16.html#ga8307a848fcf9ed929435b3e1f2b53401',1,'clutchlog::fmt']]], - ['fore_5f16m_158',['fore_16M',['../group__colors256__16_m.html#ga626c99eb11d1718d7a2a8bb3f079e6de',1,'clutchlog::fmt']]], - ['fore_5f256_159',['fore_256',['../group__colors256__16_m.html#gad98fbe84ef338ded8425d56955825a2c',1,'clutchlog::fmt']]] + ['fore_159',['fore',['../group__colors16.html#ga8307a848fcf9ed929435b3e1f2b53401',1,'clutchlog::fmt']]], + ['fore_5f16m_160',['fore_16M',['../group__colors256__16_m.html#ga626c99eb11d1718d7a2a8bb3f079e6de',1,'clutchlog::fmt']]], + ['fore_5f256_161',['fore_256',['../group__colors256__16_m.html#gad98fbe84ef338ded8425d56955825a2c',1,'clutchlog::fmt']]] ]; diff --git a/docs/search/variables_4.js b/docs/search/variables_4.js index bfec3df..6b699e3 100644 --- a/docs/search/variables_4.js +++ b/docs/search/variables_4.js @@ -1,4 +1,4 @@ var searchData= [ - ['index_160',['index',['../structclutchlog_1_1fmt_1_1color__256.html#a8e0b13d6bad87c83c3465524a5d33988',1,'clutchlog::fmt::color_256']]] + ['index_162',['index',['../structclutchlog_1_1fmt_1_1color__256.html#a8e0b13d6bad87c83c3465524a5d33988',1,'clutchlog::fmt::color_256']]] ]; diff --git a/docs/search/variables_5.js b/docs/search/variables_5.js index 6d934e3..7c3b904 100644 --- a/docs/search/variables_5.js +++ b/docs/search/variables_5.js @@ -1,5 +1,5 @@ var searchData= [ - ['matches_161',['matches',['../structclutchlog_1_1scope__t.html#ae6c0e4ed20db797124ed1e5faa033ad9',1,'clutchlog::scope_t']]], - ['mode_162',['mode',['../classclutchlog_1_1fmt.html#a0aa57cdd56ccc79c7750921ab534b205',1,'clutchlog::fmt']]] + ['matches_163',['matches',['../structclutchlog_1_1scope__t.html#ae6c0e4ed20db797124ed1e5faa033ad9',1,'clutchlog::scope_t']]], + ['mode_164',['mode',['../classclutchlog_1_1fmt.html#a0aa57cdd56ccc79c7750921ab534b205',1,'clutchlog::fmt']]] ]; diff --git a/docs/search/variables_6.js b/docs/search/variables_6.js index addc3cb..65a2424 100644 --- a/docs/search/variables_6.js +++ b/docs/search/variables_6.js @@ -1,4 +1,4 @@ var searchData= [ - ['red_163',['red',['../structclutchlog_1_1fmt_1_1color__16_m.html#a19e1517a9afb75a4e6224f718ed11c61',1,'clutchlog::fmt::color_16M']]] + ['red_165',['red',['../structclutchlog_1_1fmt_1_1color__16_m.html#a19e1517a9afb75a4e6224f718ed11c61',1,'clutchlog::fmt::color_16M']]] ]; diff --git a/docs/search/variables_7.js b/docs/search/variables_7.js index da602ee..b7f1331 100644 --- a/docs/search/variables_7.js +++ b/docs/search/variables_7.js @@ -1,5 +1,5 @@ var searchData= [ - ['stage_164',['stage',['../structclutchlog_1_1scope__t.html#adcca6846ff90d436c61861db85917744',1,'clutchlog::scope_t']]], - ['style_165',['style',['../classclutchlog_1_1fmt.html#a2bb0fde65fcd264393e102314dd1610b',1,'clutchlog::fmt']]] + ['stage_166',['stage',['../structclutchlog_1_1scope__t.html#adcca6846ff90d436c61861db85917744',1,'clutchlog::scope_t']]], + ['style_167',['style',['../classclutchlog_1_1fmt.html#a2bb0fde65fcd264393e102314dd1610b',1,'clutchlog::fmt']]] ]; diff --git a/docs/search/variables_8.js b/docs/search/variables_8.js index 0e7ab61..3fe92fe 100644 --- a/docs/search/variables_8.js +++ b/docs/search/variables_8.js @@ -1,5 +1,5 @@ var searchData= [ - ['there_166',['there',['../structclutchlog_1_1scope__t.html#a7918e55cd3bac1bd30c69b8c711387ff',1,'clutchlog::scope_t']]], - ['type_167',['type',['../structclutchlog_1_1fmt_1_1color.html#a3fd18c290567bd5c4971663a1aed12ae',1,'clutchlog::fmt::color']]] + ['there_168',['there',['../structclutchlog_1_1scope__t.html#a7918e55cd3bac1bd30c69b8c711387ff',1,'clutchlog::scope_t']]], + ['type_169',['type',['../structclutchlog_1_1fmt_1_1color.html#a3fd18c290567bd5c4971663a1aed12ae',1,'clutchlog::fmt::color']]] ]; diff --git a/docs/structclutchlog_1_1scope__t.html b/docs/structclutchlog_1_1scope__t.html index 3511232..27d9de9 100644 --- a/docs/structclutchlog_1_1scope__t.html +++ b/docs/structclutchlog_1_1scope__t.html @@ -100,7 +100,7 @@ $(document).ready(function(){initNavTree('structclutchlog_1_1scope__t.html','');

    Detailed Description

    Structure holding a location matching.

    -

    Definition at line 1050 of file clutchlog.h.

    +

    Definition at line 1062 of file clutchlog.h.

    diff --git a/docs/t-demo-extravagant_8cpp_source.html b/docs/t-demo-extravagant_8cpp_source.html new file mode 100644 index 0000000..bdb6a91 --- /dev/null +++ b/docs/t-demo-extravagant_8cpp_source.html @@ -0,0 +1,214 @@ + + + + + + + +clutchlog: t-demo-extravagant.cpp Source File + + + + + + + + + + + + + + +
    +
    +

    Public Member Functions

    + + + + + + +
    +
    clutchlog +  0.13 +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    t-demo-extravagant.cpp
    +
    +
    +
    1 #include <iostream>
    +
    2 
    +
    3 #include "../clutchlog/clutchlog.h"
    +
    4 
    +
    5 void i()
    +
    6 {
    +
    7  CLUTCHLOG(progress, "Reset data structures...");
    +
    8  CLUTCHLOG(debug, "OK");
    +
    9  CLUTCHLOG(info, "Reset functors...");
    +
    10  CLUTCHLOG(critical, "Impossible to reset, I cannot recover.");
    +
    11 }
    +
    12 
    +
    13 void h()
    +
    14 {
    +
    15  CLUTCHLOG(note, "Filling up data of size: " << 0);
    +
    16  CLUTCHLOG(error, "Cannot parse input, I will reset stuff.");
    +
    17  i();
    +
    18  CLUTCHLOG(xdebug, "Last seen state: " << 0);
    +
    19 }
    +
    20 
    +
    21 void g()
    +
    22 {
    +
    23  CLUTCHLOG(warning, "Input size < " << 1);
    +
    24  h();
    +
    25 }
    +
    26 
    +
    27 void f()
    +
    28 {
    +
    29  CLUTCHLOG(progress, "Initialize data structures...");
    +
    30  CLUTCHLOG(debug, "OK");
    +
    31  CLUTCHLOG(progress, "Initialize functors...");
    +
    32  CLUTCHLOG(debug, "OK");
    +
    33  g();
    +
    34 }
    +
    35 
    +
    36 int main(const int argc, char* argv[])
    +
    37 {
    +
    38  using level = clutchlog::level;
    +
    39  using fmt = clutchlog::fmt;
    +
    40  using fg = clutchlog::fmt::fg;
    +
    41  using bg = clutchlog::fmt::bg;
    +
    42  using typo = clutchlog::fmt::typo;
    +
    43 
    +
    44  auto& log = clutchlog::logger();
    +
    45 
    +
    46  log.style(level::critical, 197);
    +
    47  log.style(level::error, 202);
    +
    48  log.style(level::warning, 208);
    +
    49  log.style(level::progress, 34);
    +
    50  log.style(level::note, 35);
    +
    51  log.style(level::info, 36);
    +
    52  log.style(level::debug, 39);
    +
    53  log.style(level::xdebug, 45);
    +
    54  std::ostringstream format;
    +
    55  fmt reset(typo::reset);
    +
    56  fmt discreet(fg::black);
    +
    57  fmt bold(fmt::typo::bold);
    +
    58 
    +
    59  log.depth_mark("| ");
    +
    60  log.hfill_min(400);
    +
    61  log.hfill_max(500);
    +
    62  log.hfill_mark('-');
    +
    63 
    +
    64  const short dark = 238;
    +
    65  const short lite = 250;
    +
    66 
    +
    67  format
    +
    68  << fmt(dark,lite) << "{name}"
    +
    69  << fmt(lite,dark) << ""
    +
    70  << fmt(fg::none,dark) << "{level_fmt}" << " {level_short} " << reset
    +
    71  << fmt(dark,bg::none) << "" << reset
    +
    72  << fmt(dark,bg::none) << "{depth_marks}" << reset
    +
    73  << "{level_fmt}"
    +
    74  << bold("{msg}")
    +
    75  << discreet(" {hfill} ")
    +
    76  << fmt(dark,bg::none) << ""
    +
    77  << fmt(fg::none,dark) << "{level_fmt} {func} "
    +
    78  << fmt(lite,dark) << ""
    +
    79  << fmt(dark,lite) << "{file}" << reset
    +
    80  << fmt(dark,lite) << ""
    +
    81  << fmt(lite,dark) << "{line}" << reset
    +
    82  << "\n";
    +
    83  log.format(format.str());
    +
    84 
    +
    85  log.out(std::clog);
    +
    86  log.strip_calls(4);
    +
    87 
    +
    88  if(argc <= 2) {
    +
    89  CLUTCHLOG(warning, "Log level not indicated, will default to xdebug");
    +
    90  log.threshold(level::xdebug);
    +
    91  } else {
    +
    92  try {
    +
    93  log.threshold(log.level_of(argv[1]));
    +
    94  } catch(std::out_of_range& err) {
    +
    95  CLUTCHLOG(critical,err.what());
    +
    96  exit(100);
    +
    97  }
    +
    98  }
    +
    99 
    +
    100  CLUTCHLOG(progress,"Start something");
    +
    101  f();
    +
    102  CLUTCHLOG(progress,"I have stopped");
    +
    103 }
    +
    104 
    +
    +
    +
    level
    Available log levels.
    Definition: clutchlog.h:303
    +
    static clutchlog & logger()
    Get the logger instance.
    Definition: clutchlog.h:296
    +
    Color and style formatter for ANSI terminal escape sequences.
    Definition: clutchlog.h:366
    +
    bg
    Background color codes.
    Definition: clutchlog.h:411
    +
    #define CLUTCHLOG(LEVEL, WHAT)
    Log a message at the given level.
    Definition: clutchlog.h:81
    +
    typo
    Typographic style codes.
    Definition: clutchlog.h:379
    +
    fg
    Foreground color codes.
    Definition: clutchlog.h:390
    + + + + diff --git a/tests/t-demo-extravagant.cpp b/tests/t-demo-extravagant.cpp new file mode 100644 index 0000000..029b23b --- /dev/null +++ b/tests/t-demo-extravagant.cpp @@ -0,0 +1,104 @@ +#include + +#include "../clutchlog/clutchlog.h" + +void i() +{ + CLUTCHLOG(progress, "Reset data structures..."); + CLUTCHLOG(debug, "OK"); + CLUTCHLOG(info, "Reset functors..."); + CLUTCHLOG(critical, "Impossible to reset, I cannot recover."); +} + +void h() +{ + CLUTCHLOG(note, "Filling up data of size: " << 0); + CLUTCHLOG(error, "Cannot parse input, I will reset stuff."); + i(); + CLUTCHLOG(xdebug, "Last seen state: " << 0); +} + +void g() +{ + CLUTCHLOG(warning, "Input size < " << 1); + h(); +} + +void f() +{ + CLUTCHLOG(progress, "Initialize data structures..."); + CLUTCHLOG(debug, "OK"); + CLUTCHLOG(progress, "Initialize functors..."); + CLUTCHLOG(debug, "OK"); + g(); +} + +int main(const int argc, char* argv[]) +{ + using level = clutchlog::level; + using fmt = clutchlog::fmt; + using fg = clutchlog::fmt::fg; + using bg = clutchlog::fmt::bg; + using typo = clutchlog::fmt::typo; + + auto& log = clutchlog::logger(); + + log.style(level::critical, 197); + log.style(level::error, 202); + log.style(level::warning, 208); + log.style(level::progress, 34); + log.style(level::note, 35); + log.style(level::info, 36); + log.style(level::debug, 39); + log.style(level::xdebug, 45); + std::ostringstream format; + fmt reset(typo::reset); + fmt discreet(fg::black); + fmt bold(fmt::typo::bold); + + log.depth_mark("| "); + log.hfill_min(400); + log.hfill_max(500); + log.hfill_mark('-'); + + const short dark = 238; + const short lite = 250; + + format + << fmt(dark,lite) << "{name}" + << fmt(lite,dark) << "" + << fmt(fg::none,dark) << "{level_fmt}" << " {level_short} " << reset + << fmt(dark,bg::none) << "" << reset + << fmt(dark,bg::none) << "{depth_marks}" << reset + << "{level_fmt}" + << bold("{msg}") + << discreet(" {hfill} ") + << fmt(dark,bg::none) << "" + << fmt(fg::none,dark) << "{level_fmt} {func} " + << fmt(lite,dark) << "" + << fmt(dark,lite) << "{file}" << reset + << fmt(dark,lite) << "" + << fmt(lite,dark) << "{line}" << reset + << "\n"; + log.format(format.str()); + + log.out(std::clog); + log.strip_calls(4); + + if(argc <= 2) { + CLUTCHLOG(warning, "Log level not indicated, will default to xdebug"); + log.threshold(level::xdebug); + } else { + try { + log.threshold(log.level_of(argv[1])); + } catch(std::out_of_range& err) { + CLUTCHLOG(critical,err.what()); + exit(100); + } + } + + CLUTCHLOG(progress,"Start something"); + f(); + CLUTCHLOG(progress,"I have stopped"); +} +