Fixed warnings on build with CMAKE_BUILD_TYPE=Release.

Added stream outputs to suppress warnings and to help understanding.
This commit is contained in:
Takatoshi Kondo 2015-09-01 11:06:29 +09:00
parent 9b156823ff
commit be0f8c280a
3 changed files with 66 additions and 13 deletions

View File

@ -40,8 +40,11 @@ int main() {
// msgpack array is constructed on z. // msgpack array is constructed on z.
msgpack::object obj = msgpack::unpack(z, ss.str().data(), ss.str().size(), offset); msgpack::object obj = msgpack::unpack(z, ss.str().data(), ss.str().size(), offset);
std::cout << obj << std::endl;
assert(obj.as<std::vector<int> >() == v); assert(obj.as<std::vector<int> >() == v);
// msgpack str is constructed on z. // msgpack str is constructed on z.
assert(msgpack::unpack(z, ss.str().data(), ss.str().size(), offset).as<std::string>() == s); std::string const& str = msgpack::unpack(z, ss.str().data(), ss.str().size(), offset).as<std::string>();
std::cout << str << std::endl;
assert(str == s);
} }

View File

@ -35,9 +35,9 @@ void array() {
msgpack::unpacked und = msgpack::unpack(ss.str().data(), ss.str().size()); msgpack::unpacked und = msgpack::unpack(ss.str().data(), ss.str().size());
msgpack::object obj = und.get(); msgpack::object obj = und.get();
std::array<int, 5> const& new_a = obj.as<std::array<int, 5>>();
assert(new_a == a); std::cout << obj << std::endl;
assert((obj.as<std::array<int, 5>>()) == a);
} }
void tuple() { void tuple() {
@ -47,6 +47,8 @@ void tuple() {
auto und = msgpack::unpack(ss.str().data(), ss.str().size()); auto und = msgpack::unpack(ss.str().data(), ss.str().size());
auto obj = und.get(); auto obj = und.get();
std::cout << obj << std::endl;
assert(obj.as<decltype(t)>() == t); assert(obj.as<decltype(t)>() == t);
} }
@ -56,7 +58,10 @@ void unordered_map() {
msgpack::pack(ss, m); msgpack::pack(ss, m);
auto und = msgpack::unpack(ss.str().data(), ss.str().size()); auto und = msgpack::unpack(ss.str().data(), ss.str().size());
assert(und.get().as<decltype(m)>() == m); msgpack::object obj = und.get();
std::cout << obj << std::endl;
assert(obj.as<decltype(m)>() == m);
} }
void unordered_set() { void unordered_set() {
@ -64,7 +69,11 @@ void unordered_set() {
std::stringstream ss; std::stringstream ss;
msgpack::pack(ss, s); msgpack::pack(ss, s);
assert(msgpack::unpack(ss.str().data(), ss.str().size()).get().as<decltype(s)>() == s); auto und = msgpack::unpack(ss.str().data(), ss.str().size());
auto obj = und.get();
std::cout << obj << std::endl;
assert(obj.as<decltype(s)>() == s);
} }
void forward_list() { void forward_list() {
@ -73,7 +82,11 @@ void forward_list() {
std::stringstream ss; std::stringstream ss;
msgpack::pack(ss, f); msgpack::pack(ss, f);
assert(msgpack::unpack(ss.str().data(), ss.str().size()).get().as<type>() == f); auto und = msgpack::unpack(ss.str().data(), ss.str().size());
auto obj = und.get();
std::cout << obj << std::endl;
assert(obj.as<type>() == f);
} }
void combi() { void combi() {
@ -91,11 +104,47 @@ void combi() {
msgpack::pack(ss, f); msgpack::pack(ss, f);
std::size_t offset = 0; std::size_t offset = 0;
assert(msgpack::unpack(ss.str().data(), ss.str().size(), offset).get().as<decltype(a)>() == a); std::cout << "offset: " << offset << std::endl;
assert(msgpack::unpack(ss.str().data(), ss.str().size(), offset).get().as<decltype(t)>() == t); {
assert(msgpack::unpack(ss.str().data(), ss.str().size(), offset).get().as<decltype(m)>() == m); auto und = msgpack::unpack(ss.str().data(), ss.str().size(), offset);
assert(msgpack::unpack(ss.str().data(), ss.str().size(), offset).get().as<decltype(s)>() == s); auto obj = und.get();
assert(msgpack::unpack(ss.str().data(), ss.str().size(), offset).get().as<decltype(f)>() == f);
std::cout << obj << std::endl;
assert(obj.as<decltype(a)>() == a);
}
std::cout << "offset: " << offset << std::endl;
{
auto und = msgpack::unpack(ss.str().data(), ss.str().size(), offset);
auto obj = und.get();
std::cout << obj << std::endl;
assert(obj.as<decltype(t)>() == t);
}
std::cout << "offset: " << offset << std::endl;
{
auto und = msgpack::unpack(ss.str().data(), ss.str().size(), offset);
auto obj = und.get();
std::cout << obj << std::endl;
assert(obj.as<decltype(m)>() == m);
}
std::cout << "offset: " << offset << std::endl;
{
auto und = msgpack::unpack(ss.str().data(), ss.str().size(), offset);
auto obj = und.get();
std::cout << obj << std::endl;
assert(obj.as<decltype(s)>() == s);
}
std::cout << "offset: " << offset << std::endl;
{
auto und = msgpack::unpack(ss.str().data(), ss.str().size(), offset);
auto obj = und.get();
std::cout << obj << std::endl;
assert(obj.as<decltype(f)>() == f);
}
std::cout << "offset: " << offset << std::endl;
} }
int main() { int main() {

View File

@ -17,6 +17,7 @@
#include <cassert> #include <cassert>
#include <memory> #include <memory>
#include <iostream>
#include <msgpack.hpp> #include <msgpack.hpp>
@ -53,6 +54,6 @@ int main() {
my m1(42); my m1(42);
msgpack::zone z; msgpack::zone z;
msgpack::object obj(m1, z); msgpack::object obj(m1, z);
auto m2 = obj.as<my>(); std::cout << obj << std::endl;
assert(m1.a == m2.a); assert(m1.a == obj.as<my>().a);
} }