66class LASS_DLL BinaryOStream:
public BinaryStreamBase
73 pos_type tellp()
const;
74 BinaryOStream& seekp(pos_type position);
75 BinaryOStream& seekp(off_type offset, std::ios_base::seekdir direction);
78#if !defined(LASS_HAVE_STDINT_H_INT8_T_IS_CHAR)
79 BinaryOStream& operator<<(
char x );
81 BinaryOStream& operator<<( num::Tint8 x );
82 BinaryOStream& operator<<( num::Tuint8 x );
83 BinaryOStream& operator<<( num::Tint16 x );
84 BinaryOStream& operator<<( num::Tuint16 x );
85 BinaryOStream& operator<<( num::Tint32 x );
86 BinaryOStream& operator<<( num::Tuint32 x );
87 BinaryOStream& operator<<( num::Tint64 x );
88 BinaryOStream& operator<<( num::Tuint64 x );
89 BinaryOStream& operator<<( num::Tfloat32 x );
90 BinaryOStream& operator<<( num::Tfloat64 x );
91 BinaryOStream& operator<<(
bool x );
92 BinaryOStream& operator<<(
const void* x );
93 BinaryOStream& operator<<(
const char* x );
94 BinaryOStream& operator<<(
const std::string& x );
95#if LASS_HAVE_WCHAR_SUPPORT
96 BinaryOStream& operator<<(
const wchar_t* x );
97 BinaryOStream& operator<<(
const std::wstring& x );
99 template<
typename T> BinaryOStream& operator<<(
const std::vector<T>& x );
100 template<
typename T> BinaryOStream& operator<<(
const std::complex<T>& x );
102 size_t write(
const void* buffer,
size_t byteLength);
106 template <
typename T> BinaryOStream& writeValue(T x);
107 BinaryOStream& writeString(
const char*
string,
size_t length);
109 virtual pos_type doTellp()
const = 0;
110 virtual void doSeekp(pos_type position) = 0;
111 virtual void doSeekp(off_type offset, std::ios_base::seekdir direction) = 0;
112 virtual void doFlush() = 0;
113 virtual size_t doWrite(
const void* bytes,
size_t numberOfBytes) = 0;