コード例 #1
0
ファイル: main.cpp プロジェクト: 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");
}
コード例 #2
0
ファイル: main.cpp プロジェクト: 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");
}
コード例 #3
0
ファイル: main.cpp プロジェクト: aspectron/iris-crypt
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");
}
コード例 #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");
}
コード例 #5
0
ファイル: main.cpp プロジェクト: 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");
}