int main() { derived t1, t2; yas::mem_ostream os; yas::binary_oarchive<yas::mem_ostream> oa(os); oa & t1; yas::mem_istream is(os.get_intrusive_buffer()); yas::binary_iarchive<yas::mem_istream> ia(is); ia & t2; if ( t2.x != 33 || t2.y != 44 ) YAS_THROW_EXCEPTION(std::runtime_error, "bad value"); }
int main() { std::int32_t src = 33, dst = 0; yas::mem_ostream os; yas::text_oarchive<yas::mem_ostream, my_traits> oa(os); oa & src; yas::mem_istream is(os.get_intrusive_buffer()); yas::text_iarchive<yas::mem_istream, my_traits2> ia(is); ia & dst; if ( src != dst ) YAS_THROW_EXCEPTION(std::runtime_error, "bad value"); }
int main() { const char key = 0x33; std::string src = "my mega super string", dst; my_ostream os(key); yas::text_oarchive<my_ostream> oa(os); oa & src; my_istream is(os.get_intrusive_buffer(), key); yas::text_iarchive<my_istream> ia(is); ia & dst; if ( src != dst ) YAS_THROW_EXCEPTION(std::runtime_error, "bad value"); }
int main() { type t1; yas::mem_ostream os; yas::binary_oarchive<yas::mem_ostream> oa(os); oa & t1; type t2; yas::mem_istream is(os.get_intrusive_buffer()); yas::binary_iarchive<yas::mem_istream> ia(is); ia & t2; type t3; if ( t2.i != t3.i || t2.d != t3.d || t2.s != t3.s || t2.v != t3.v ) YAS_THROW_EXCEPTION(std::runtime_error, "bad value"); }
int main() { std::uint32_t v0 = 444, v1 = 0; my_ostream os; yas::text_oarchive<my_ostream> oa(os); oa & v0; std::cout << "buf:" << os.buf << std::endl; my_istream is(os.buf, os.cur-os.buf); yas::text_iarchive<my_istream> ia(is); ia & v1; if ( v0 != v1 ) YAS_THROW_EXCEPTION(std::runtime_error, "bad value"); }