#define BOOST_TEST_MODULE Serialization #include #include #include using namespace boost::archive::detail; class WithOverLoadedNewOperator { public: void *operator new( size_t size ) { return ::operator new(size); } void *operator new( size_t size, void *pBase ) { return pBase; } void operator delete( void *p ) { ::operator delete(p); } void operator delete( void *p, void *pBase ) { } }; class WithoutOverLoadedNewOperator { }; BOOST_AUTO_TEST_SUITE(Serialization) BOOST_AUTO_TEST_CASE(HeapAllocatorOperatorNewOverloadTest) { BOOST_WARN(sizeof(*heap_allocator::hasNewOperator(static_cast(NULL))) == sizeof(heap_allocator::True)); BOOST_REQUIRE(sizeof(*heap_allocator::hasNewOperator(static_cast(NULL))) == sizeof(heap_allocator::False)); } BOOST_AUTO_TEST_SUITE_END()