int main() { { bare_allocator<DummyClass> alloc; test_for_alloc(alloc); } { non_default_test_allocator<DummyClass> alloc(42); test_for_alloc(alloc); } }
int main() { { bare_allocator<DummyClass> bare_alloc; test_for_alloc(bare_alloc); } { non_default_test_allocator<DummyClass> non_default_alloc(42); test_for_alloc(non_default_alloc); } #if TEST_STD_VER >= 11 { using Fn = std::function<void(int, int, int)>; static_assert(std::is_constructible<Fn, std::allocator_arg_t, std::allocator<int>, LValueCallable&>::value, ""); static_assert(std::is_constructible<Fn, std::allocator_arg_t, std::allocator<int>, LValueCallable>::value, ""); static_assert(!std::is_constructible<Fn, std::allocator_arg_t, std::allocator<int>, RValueCallable&>::value, ""); static_assert(!std::is_constructible<Fn, std::allocator_arg_t, std::allocator<int>, RValueCallable>::value, ""); } #endif }