VCCC  2024.05
VisualCamp Common C++ library
global_stream_wrapper_settings.hpp
Go to the documentation of this file.
1 //
2 // Created by YongGyu Lee on 3/22/24.
3 //
4 
5 #ifndef VCCC_LOG_GLOBAL_STREAM_WRAPPER_SETTINGS_HPP_
6 #define VCCC_LOG_GLOBAL_STREAM_WRAPPER_SETTINGS_HPP_
7 
8 namespace vccc {
9 
12 
14  public:
19 
20  // Add quotation to strings (string and string_view)
21  static bool quote_string() {
22  return GetInstance().quote_string_;
23  }
24 
25  static void quote_string(bool new_value) {
26  GetInstance().quote_string_ = new_value;
27  }
28 
29  // Expand aggregate types (non-empty aggregate types)
30  static bool expand_aggregate() {
31  return GetInstance().expand_aggregate_;
32  }
33 
34  static void expand_aggregate(bool new_value) {
35  GetInstance().expand_aggregate_ = new_value;
36  }
37 
38  static bool expand_array() {
39  return GetInstance().expand_array_;
40  }
41 
42  static void expand_array(bool new_value) {
43  GetInstance().expand_array_ = new_value;
44  }
45 
46  private:
47  GlobalStreamWrapperSettings() = default;
48 
49  static GlobalStreamWrapperSettings& GetInstance() {
50  static auto inst = new GlobalStreamWrapperSettings();
51  return *inst;
52  }
53 
54  bool quote_string_ = false;
55  bool expand_aggregate_ = false;
56  bool expand_array_ = false;
57 };
58 
60 
61 } // namespace vccc
62 
63 #endif // VCCC_LOG_GLOBAL_STREAM_WRAPPER_SETTINGS_HPP_
Definition: global_stream_wrapper_settings.hpp:13
GlobalStreamWrapperSettings & operator=(const GlobalStreamWrapperSettings &)=delete
GlobalStreamWrapperSettings & operator=(GlobalStreamWrapperSettings &&)=delete
GlobalStreamWrapperSettings(const GlobalStreamWrapperSettings &)=delete
static bool expand_aggregate()
Definition: global_stream_wrapper_settings.hpp:30
GlobalStreamWrapperSettings(GlobalStreamWrapperSettings &&)=delete
static void quote_string(bool new_value)
Definition: global_stream_wrapper_settings.hpp:25
static bool expand_array()
Definition: global_stream_wrapper_settings.hpp:38
static bool quote_string()
Definition: global_stream_wrapper_settings.hpp:21
static void expand_aggregate(bool new_value)
Definition: global_stream_wrapper_settings.hpp:34
static void expand_array(bool new_value)
Definition: global_stream_wrapper_settings.hpp:42
Definition: directory.h:12