23 #include <numeric/xyzVector.hh>
31 #include <utility/vector1.hh>
37 #define THROW_EXCEPTION(X) {std::cerr << "OVERFLOW ERROR: " << X;return;}
41 namespace serialization {
59 for (
unsigned int i = 0; i < n / 2; ++ i) {
77 if (buf.
write(x, n) != 1) {
87 if (buf.
read(x, n) != 1) {
104 template <
typename T>
118 write_bytes<char>(x, buf);
124 read_bytes<char>(x, buf);
130 char x_char = x ? 0xFF : 0x00;
139 x = (x_char != 0x00);
187 for (
unsigned int ii = 1; ii <= x.size(); ++ ii) {
199 for (
unsigned int ii = 1; ii <= x.size(); ++ ii) {
210 for (
unsigned int ii = 0; ii < x.size(); ++ ii) {
222 for (
unsigned int ii = 0; ii < x.size(); ++ ii) {
233 for (
unsigned int ii = 0; ii < x.size(); ++ ii) {
245 for (
unsigned int ii = 0; ii < x.size(); ++ ii) {
275 unsigned int input = 0;
285 size_t len = strlen(x);
287 for (
unsigned int ii = 0; ii < len; ++ ii) {
295 size_t len = strlen(x);
296 std::vector< char > input(len, 0);
298 for (
unsigned int ii = 0; ii < len; ++ ii) {
302 if (memcmp(&input[0], x, len)) {
313 const unsigned int WRITE_VERSION = 2;
331 for (
size_t k = 1; k <= residue.
atoms().size(); ++ k) {
338 std::ostringstream foldtree_outs;
346 std::ostringstream jump_outs;
347 jump_outs << pose.
jump(j);
364 using namespace core::chemical;
365 using namespace core::conformation;
366 unsigned int read_version = 0;
369 switch (read_version) {
378 unsigned int total_residue = 0;
381 atom_vec.reserve(total_residue*15);
383 unsigned int prevchain = 1;
384 for (
size_t j = 1; j <= total_residue; ++ j) {
392 unsigned int chainid;
394 bool const is_lower_terminus( j==1 || chainid != prevchain );
398 new_rsd->chain(chainid);
412 for (
size_t k = 1; k <= natoms; ++ k) {
415 atom_vec.push_back(std::make_pair(
id::AtomID(k, j), xyz));
422 std::istringstream foldtree_in;
423 foldtree_in.str(foldtree_str);
432 for (
size_t j = 1; j <= jumps; ++ j) {
435 std::istringstream jump_in;
436 jump_in.str( jump_str );
439 jumpsv.push_back( jump );
442 for (
Size nr = 1; nr <= f.num_jump(); nr++) {
456 for (AtomVector::iterator ii = atom_vec.begin(); ii != atom_vec.end(); ++ ii) {
457 pose.
set_xyz(ii->first, ii->second);