// endian_operations_test.cpp ----------------------------------------------// // Copyright Beman Dawes 2008 // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // See library home page at http://www.boost.org/libs/endian //----------------------------------------------------------------------------// #include #include #ifdef _MSC_VER # pragma warning( disable : 4244 ) #endif using namespace boost::integer; template struct default_construct { static void test() { T1 o1; o1 = 1; // quiet warnings } }; template struct construct { static void test() { T2 o2(1); T1 o1(o2); } }; template struct assign { static void test() { T2 o2; o2 = 123; T1 o1; o1 = 02; } }; template struct pass { static void test() { } }; template struct compare { static void test() { T1 o1 = 1; T2 o2 = 2; if (o1 == o2) return; } }; template class Test, class T1> void op_test_aux() { Test::test(); Test::test(); Test::test(); Test::test(); Test::test(); Test::test(); Test::test(); Test::test(); Test::test(); Test::test(); Test::test(); Test::test(); Test::test(); Test::test(); Test::test(); Test::test(); Test::test(); Test::test(); Test::test(); Test::test(); Test::test(); Test::test(); Test::test(); Test::test(); Test::test(); Test::test(); Test::test(); Test::test(); Test::test(); Test::test(); Test::test(); Test::test(); Test::test(); Test::test(); Test::test(); Test::test(); Test::test(); Test::test(); Test::test(); Test::test(); Test::test(); Test::test(); Test::test(); Test::test(); Test::test(); Test::test(); Test::test(); Test::test(); Test::test(); Test::test(); Test::test(); Test::test(); Test::test(); Test::test(); Test::test(); Test::test(); Test::test(); Test::test(); Test::test(); } template class Test> void op_test() { op_test_aux(); op_test_aux(); op_test_aux(); op_test_aux(); op_test_aux(); op_test_aux(); op_test_aux(); op_test_aux(); op_test_aux(); op_test_aux(); op_test_aux(); op_test_aux(); op_test_aux(); op_test_aux(); op_test_aux(); op_test_aux(); op_test_aux(); op_test_aux(); op_test_aux(); op_test_aux(); op_test_aux(); op_test_aux(); op_test_aux(); op_test_aux(); op_test_aux(); op_test_aux(); op_test_aux(); op_test_aux(); op_test_aux(); op_test_aux(); op_test_aux(); op_test_aux(); op_test_aux(); op_test_aux(); op_test_aux(); op_test_aux(); op_test_aux(); op_test_aux(); op_test_aux(); op_test_aux(); op_test_aux(); op_test_aux(); op_test_aux(); op_test_aux(); op_test_aux(); op_test_aux(); op_test_aux(); op_test_aux(); op_test_aux(); op_test_aux(); op_test_aux(); op_test_aux(); op_test_aux(); op_test_aux(); op_test_aux(); op_test_aux(); op_test_aux(); op_test_aux(); op_test_aux(); } int main() { big32_t o1(1); big32_t o2(2L); big32_t o3(3LL); op_test(); op_test(); op_test(); op_test(); op_test(); return 0; }