Exemplo n.º 1
0
Arquivo: main.cpp Projeto: hoangle/yas
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");
}
Exemplo n.º 2
0
Arquivo: main.cpp Projeto: hoangle/yas
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");
}
Exemplo n.º 3
0
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");
}
Exemplo n.º 4
0
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");
}
Exemplo n.º 5
0
Arquivo: main.cpp Projeto: hoangle/yas
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");
}