////////////////////////////////////////////////////////////////////////////// // // (C) Copyright Ion Gaztanaga 2025-2025. 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 http://www.boost.org/libs/container for documentation. // ////////////////////////////////////////////////////////////////////////////// #include #include struct Point { int x, y; Point(); Point(int); Point(int, int); Point(int, int, int); Point(int, int, int, int); Point(int, int, int, int, int, int, int, int); }; struct Point2 { Point2(int*); }; int main() { // 0 args BOOST_CONTAINER_STATIC_ASSERT((true ==boost::container::is_constructible::value)); BOOST_CONTAINER_STATIC_ASSERT((true ==boost::container::is_constructible >::value)); BOOST_CONTAINER_STATIC_ASSERT((false ==boost::container::is_constructible::value)); // 1 args BOOST_CONTAINER_STATIC_ASSERT((true ==boost::container::is_constructible::value)); BOOST_CONTAINER_STATIC_ASSERT((true ==boost::container::is_constructible, std::size_t>::value)); BOOST_CONTAINER_STATIC_ASSERT((false ==boost::container::is_constructible, int*>::value)); BOOST_CONTAINER_STATIC_ASSERT((false ==boost::container::is_constructible::value)); BOOST_CONTAINER_STATIC_ASSERT((false ==boost::container::is_constructible::value)); // 2 args BOOST_CONTAINER_STATIC_ASSERT((true ==boost::container::is_constructible::value)); BOOST_CONTAINER_STATIC_ASSERT((true ==boost::container::is_constructible, size_t, int>::value)); BOOST_CONTAINER_STATIC_ASSERT((false ==boost::container::is_constructible::value)); // 3 args BOOST_CONTAINER_STATIC_ASSERT((true ==boost::container::is_constructible::value)); BOOST_CONTAINER_STATIC_ASSERT((true ==boost::container::is_constructible, int*, int*, boost::container::vector::allocator_type>::value)); BOOST_CONTAINER_STATIC_ASSERT((false ==boost::container::is_constructible::value)); // 4 args BOOST_CONTAINER_STATIC_ASSERT((true ==boost::container::is_constructible::value)); BOOST_CONTAINER_STATIC_ASSERT((false ==boost::container::is_constructible::value)); // 8 args BOOST_CONTAINER_STATIC_ASSERT((true ==boost::container::is_constructible::value)); BOOST_CONTAINER_STATIC_ASSERT((false ==boost::container::is_constructible::value)); return 0; }