1 Commits

Author SHA1 Message Date
98148a5575 add a Stream::new_empty() method 2024-12-05 17:49:32 +01:00
4 changed files with 19 additions and 1 deletions

View File

@@ -79,6 +79,12 @@ bool Log::is_wchar_stream() const
}
Log * Log::new_empty() const
{
return new Log();
}
void Log::clear()
{

View File

@@ -77,6 +77,8 @@ public:
bool is_char_stream() const;
bool is_wchar_stream() const;
Log * new_empty() const;
void clear();
bool empty() const;
size_t size() const;

View File

@@ -61,6 +61,8 @@ public:
virtual ~Stream() {};
virtual Stream * new_empty() const = 0;
virtual bool is_char_stream() const = 0;
virtual bool is_wchar_stream() const = 0;
@@ -79,6 +81,8 @@ public:
virtual char get_char(size_t index) const = 0;
virtual wchar_t get_wchar(size_t index) const = 0;
virtual void escape_input(bool) {};
virtual Stream & operator<<(const char * str) = 0;
virtual Stream & operator<<(const std::string & str) = 0;
virtual Stream & operator<<(const wchar_t * str) = 0;

View File

@@ -136,6 +136,8 @@ public:
bool is_char_stream() const;
bool is_wchar_stream() const;
TextStreamBase * new_empty() const;
void clear();
bool empty() const;
size_t size() const;
@@ -540,7 +542,11 @@ bool TextStreamBase<char_type, stack_size, heap_block_size>::is_wchar_stream() c
}
template<typename char_type, size_t stack_size, size_t heap_block_size>
TextStreamBase<char_type, stack_size, heap_block_size> * TextStreamBase<char_type, stack_size, heap_block_size>::new_empty() const
{
return new TextStreamBase<char_type, stack_size, heap_block_size>();
}
template<typename char_type, size_t stack_size, size_t heap_block_size>