34 virtual ~ascbinostream();
38 # define mDeclascbinostreamAddFns(typ) \ 39 ascbinostream& add(typ,char post=od_tab); \ 40 ascbinostream& add(typ,const char* post) 56 template <
class T,
class IT>
57 inline ascbinostream& addArr(
const T*,IT sz,
const char* between=
"\t",
58 const char* post=
"\n");
63 inline ascbinostream&
addBin(
const T& t )
64 {
return addBin( &t,
sizeof(T) ); }
85 virtual ~ascbinistream();
89 ascbinistream&
get(
char&);
90 ascbinistream&
get(
unsigned char&);
97 ascbinistream&
get(
float&);
98 ascbinistream&
get(
double&);
100 template <
class T,
class IT>
101 inline ascbinistream& getArr(T* arr,IT sz);
107 {
return getBin( &t,
sizeof(T) ); }
120 template <
class T,
class IT>
126 return addBin( &sz,
sizeof(IT) ).
addBin( arr, sz *
sizeof(T) );
129 for (
int idx=0; idx<sz; idx++ )
130 strm_ << arr[idx] << (idx == sz-1 ? post : between);
136 template <
class T,
class IT>
140 return getBin( arr, sz*
sizeof(T) );
142 for (
int idx=0; idx<sz; idx++ )
od_ostream & stream()
Definition: ascbinstream.h:66
#define mExpClass(module)
Definition: commondefs.h:157
ascbinostream & addEOL(T t)
Definition: ascbinstream.h:54
OD class for stream write common access to the user log file, or std::cout in batch progs...
Definition: od_ostream.h:25
#define od_int64
Definition: plftypes.h:34
const bool binary_
Definition: ascbinstream.h:71
od_istream & strm_
Definition: ascbinstream.h:113
od_ostream & strm_
Definition: ascbinstream.h:70
const bool binary_
Definition: ascbinstream.h:114
const bool strmmine_
Definition: ascbinstream.h:72
ascbinostream & addArr(const T *, IT sz, const char *between="\t", const char *post="\n")
Will write both sz and the array.
Definition: ascbinstream.h:121
od_uint64 od_stream_Count
Definition: od_iosfwd.h:16
OD class for stream read.
Definition: od_istream.h:23
#define od_uint32
Definition: plftypes.h:30
reads from a stream that was created in ascbinostream style.
Definition: ascbinstream.h:79
#define mDeclascbinostreamAddFns(typ)
Definition: ascbinstream.h:38
ascbinistream & getBin(T &t)
Definition: ascbinstream.h:106
const bool strmmine_
Definition: ascbinstream.h:115
#define od_int16
Definition: plftypes.h:25
ascbinostream & addBin(const void *, od_stream_Count nrbytes)
#define od_uint64
Definition: plftypes.h:35
#define od_int32
Definition: plftypes.h:29
ascbinostream & addBin(const T &t)
Definition: ascbinstream.h:63
od_istream & stream()
Definition: ascbinstream.h:109
#define od_uint16
Definition: plftypes.h:26
ascbinistream & getArr(T *arr, IT sz)
Will NOT read the sz! Read sz and allocate first.
Definition: ascbinstream.h:137
writes to a stream that can be Ascii or Binary.
Definition: ascbinstream.h:28
#define od_newline
Definition: od_iosfwd.h:23