TurtleBrains  0.3.5
High quality, portable, C++ framework for rapid 2D game development.
tb_formatter.hpp
1 
9 #ifndef TurtleBrains_Formatter_hpp
10 #define TurtleBrains_Formatter_hpp
11 
12 #include <memory>
13 #include <cstdarg>
14 
15 namespace TurtleBrains::Core
16 {
21  class Formatter
22  {
23  public:
30  explicit Formatter(const char* formattedMessage, ...);
31 
38  Formatter(const Formatter& other);
39 
45  Formatter(Formatter&& other);
46 
50  ~Formatter(void);
51 
58  Formatter& operator=(const Formatter& other);
59 
65  Formatter& operator=(Formatter&& other) noexcept;
66 
70  const char* c_str(void) const;
71 
80  static Formatter FromArgumentList(const char* formattedMessage, va_list argumentsList);
81 
82  private:
83  Formatter(void);
84 
85  std::unique_ptr<char[]> mBuffer;
86  size_t mBufferSize;
87  };
88 
89 }; /* namespace TurtleBrains::Core */
90 
91 namespace tbCore = TurtleBrains::Core;
92 
93 #endif /* TurtleBrains_Formatter_hpp */
Definition: tb_formatter.hpp:22
Formatter(Formatter &&other)
Formatter & operator=(const Formatter &other)
static Formatter FromArgumentList(const char *formattedMessage, va_list argumentsList)
Formatter & operator=(Formatter &&other) noexcept
Formatter(const Formatter &other)
const char * c_str(void) const
Formatter(const char *formattedMessage,...)
Contains core functionality for each component of the API.
Definition: tb_debug_logger.hpp:125