|
|
|
@ -105,16 +105,26 @@ public:
|
|
|
|
|
TextStreamBase & operator<<(const PT::Space & space);
|
|
|
|
|
TextStreamBase & operator<<(const PT::Date & date);
|
|
|
|
|
|
|
|
|
|
template<typename arg_char_type, size_t arg_stack_size, size_t arg_heap_block_size>
|
|
|
|
|
TextStreamBase & operator<<(const TextStreamBase<arg_char_type, arg_stack_size, arg_heap_block_size> & arg);
|
|
|
|
|
|
|
|
|
|
TextStreamBase & write(const char * buf, size_t len);
|
|
|
|
|
TextStreamBase & write(const wchar_t * buf, size_t len);
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
raw access
|
|
|
|
|
*/
|
|
|
|
|
int radix;
|
|
|
|
|
buffer_type buffer;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
typedef TextStreamBase<char, 256, 4096> TextStream;
|
|
|
|
|
typedef TextStreamBase<wchar_t, 256, 4096> WTextStream;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
template<typename char_type, size_t stack_size, size_t heap_block_size>
|
|
|
|
|
TextStreamBase<char_type, stack_size, heap_block_size>::TextStreamBase()
|
|
|
|
@ -430,6 +440,20 @@ return *this;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
template<typename char_type, size_t stack_size, size_t heap_block_size>
|
|
|
|
|
template<typename arg_char_type, size_t arg_stack_size, size_t arg_heap_block_size>
|
|
|
|
|
TextStreamBase<char_type, stack_size, heap_block_size> &
|
|
|
|
|
TextStreamBase<char_type, stack_size, heap_block_size>::operator<<(
|
|
|
|
|
const TextStreamBase<arg_char_type, arg_stack_size, arg_heap_block_size> & arg)
|
|
|
|
|
{
|
|
|
|
|
buffer.append(arg.buffer);
|
|
|
|
|
|
|
|
|
|
return *this;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} // namespace
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|