28 #ifndef _util_state_stateout_h
29 #define _util_state_stateout_h
39 #include <util/class/class.h>
40 #include <util/state/state.h>
73 int next_object_number_;
75 std::map<ClassDescP,int> classidmap_;
78 virtual int put_array_void(
const void*,
int);
85 void have_classdesc() { have_cd_ = 1; }
86 int need_classdesc() {
int tmp = have_cd_; have_cd_ = 0;
return !tmp; }
108 virtual int put(
const std::string &);
111 virtual int put(
char r);
112 virtual int put(
unsigned int r);
113 virtual int put(
int r);
114 virtual int put(
bool r);
115 virtual int put(
unsigned long r);
116 virtual int put(
float r);
117 virtual int put(
double r);
120 virtual int put(
const char*,
int);
121 virtual int put(
const unsigned int*,
int);
122 virtual int put(
const int*,
int);
123 virtual int put(
const float*,
int);
124 virtual int put(
const double*,
int);
128 virtual int put_array_uint(
const unsigned int*p,
int size);
129 virtual int put_array_int(
const int*p,
int size);
130 virtual int put_array_float(
const float*p,
int size);
131 virtual int put_array_double(
const double*p,
int size);
135 int put(
typename std::vector<T> &v) {
138 if (l) {
for (
int i=0; i<l; i++) r +=
put(v[i]); }
156 virtual void flush();
169 virtual void seek(
int loc);