src: add boost-pfr
This commit is contained in:
@@ -25,6 +25,11 @@
|
||||
<markus@oberhumer.com> <ezerotven+github@gmail.com>
|
||||
*/
|
||||
|
||||
#if DEBUG || 1
|
||||
#ifndef WITH_BOOST_PFR
|
||||
#define WITH_BOOST_PFR 1
|
||||
#endif
|
||||
#endif
|
||||
#include "../conf.h"
|
||||
|
||||
/*************************************************************************
|
||||
@@ -448,4 +453,33 @@ TEST_CASE("libc snprintf") {
|
||||
CHECK_EQ(strcmp(buf, "-7.0.0.0.0.0.0.0.7.0xffffffffffffffff"), 0);
|
||||
}
|
||||
|
||||
#if WITH_BOOST_PFR
|
||||
TEST_CASE("Boost.PFR") {
|
||||
int i = -1;
|
||||
CHECK_EQ(strcmp(pfr_str(i).c_str(), "-1"), 0);
|
||||
BE32 b32;
|
||||
b32 = 1;
|
||||
LE32 l32;
|
||||
l32 = 2;
|
||||
CHECK_EQ(strcmp(pfr_str(b32).c_str(), "1"), 0);
|
||||
CHECK_EQ(strcmp(pfr_str(l32).c_str(), "2"), 0);
|
||||
struct Foo {
|
||||
BE16 b16;
|
||||
BE32 b32;
|
||||
BE64 b64;
|
||||
LE16 l16;
|
||||
LE32 l32;
|
||||
LE64 l64;
|
||||
};
|
||||
Foo foo;
|
||||
foo.b16 = 1;
|
||||
foo.b32 = 2;
|
||||
foo.b64 = 3;
|
||||
foo.l16 = 4;
|
||||
foo.l32 = 5;
|
||||
foo.l64 = 6;
|
||||
CHECK_EQ(strcmp(pfr_str("foo", "=", foo).c_str(), "foo = {1, 2, 3, 4, 5, 6}"), 0);
|
||||
}
|
||||
#endif // WITH_BOOST_PFR
|
||||
|
||||
/* vim:set ts=4 sw=4 et: */
|
||||
|
||||
Reference in New Issue
Block a user