46 #include <Xyce_config.h>
53 #include <N_PDS_Comm.h>
68 os <<
"Device State: " << ds.
ID << std::endl;
69 os <<
" -------------" << std::endl;
70 for(
int i = 0; i < ds.
data.size(); ++i )
71 os <<
" " << i <<
": " << ds.
data[i] << std::endl;
72 os <<
" -------------" << std::endl;
90 int size =
data.size();
92 for(
int i = 0; i < size; ++i )
98 for(
int i = 0; i < size; ++i )
104 for(
int i = 0; i < size; ++i )
123 for(
int i = 0; i < size; ++i )
128 for(
int i = 0; i < size; ++i )
133 for(
int i = 0; i < size; ++i )
151 int bCnt =
sizeof(int);
152 bCnt += device_state.
ID.length();
155 bCnt += device_state.
data.size() *
sizeof(double);
158 bCnt += device_state.
dataInt.size() *
sizeof(int);
161 bCnt += device_state.
dataSizeT.size() *
sizeof(size_t);
176 Pack<Device::DeviceState>::pack(
const Device::DeviceState &device_state,
char * buf,
int bsize,
int & pos, N_PDS_Comm * comm)
181 length = device_state.ID.length();
182 comm->pack( &length, 1, buf, bsize, pos );
183 comm->pack( device_state.ID.c_str(), length, buf, bsize, pos );
186 length = device_state.data.size();
187 comm->pack( &length, 1, buf, bsize, pos );
188 comm->pack( &(device_state.data[0]), length, buf, bsize, pos );
191 length = device_state.dataInt.size();
192 comm->pack( &length, 1, buf, bsize, pos );
193 comm->pack( &(device_state.dataInt[0]), length, buf, bsize, pos );
196 length = device_state.dataSizeT.size();
197 comm->pack( &length, 1, buf, bsize, pos );
198 comm->pack( &(device_state.dataSizeT[0]), length, buf, bsize, pos );
211 Pack<Device::DeviceState>::unpack(Device::DeviceState &device_state,
char * buf,
int bsize,
int & pos, N_PDS_Comm * comm)
216 comm->unpack( buf, bsize, pos, &length, 1 );
217 device_state.ID = std::string( (buf+pos), length);
221 comm->unpack( buf, bsize, pos, &length, 1 );
222 device_state.data.resize(length);
223 comm->unpack( buf, bsize, pos, &(device_state.data[0]), length );
226 comm->unpack( buf, bsize, pos, &length, 1 );
227 device_state.dataInt.resize(length);
228 comm->unpack( buf, bsize, pos, &(device_state.dataInt[0]), length );
231 comm->unpack( buf, bsize, pos, &length, 1 );
232 device_state.dataSizeT.resize(length);
233 comm->unpack( buf, bsize, pos, &(device_state.dataSizeT[0]), length );
Pure virtual class to augment a linear system.
std::vector< int > dataInt
void restore(std::istream &is)
void dump(std::ostream &os)
std::vector< double > data
std::vector< size_t > dataSizeT
std::ostream & operator<<(std::ostream &os, const Configuration &configuration)