// Boost.Geometry // Copyright (c) 2021, Oracle and/or its affiliates. // Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle // Licensed under the Boost Software License version 1.0. // http://www.boost.org/users/license.html #ifndef BOOST_GEOMETRY_GEOMETRIES_GEOMETRY_COLLECTION_HPP #define BOOST_GEOMETRY_GEOMETRIES_GEOMETRY_COLLECTION_HPP #include #include #include namespace boost { namespace geometry { namespace model { /*! \brief Basic geometry_collection class representing a container of DynamicGeometries. \ingroup geometries \tparam DynamicGeometry Type adapted to DynamicGeometry Concept. \tparam Container \tparam_container \tparam Allocator \tparam_allocator */ template < typename DynamicGeometry, template class Container = std::vector, template class Allocator = std::allocator > class geometry_collection : public Container> { typedef Container> base_type; public: geometry_collection() = default; geometry_collection(std::initializer_list l) : base_type(l.begin(), l.end()) {} }; } // namespace model #ifndef DOXYGEN_NO_TRAITS_SPECIALIZATIONS namespace traits { template < typename DynamicGeometry, template class Container, template class Allocator > struct tag> { using type = geometry_collection_tag; }; } // namespace traits #endif // DOXYGEN_NO_TRAITS_SPECIALIZATIONS }} // namespace boost::geometry #endif // BOOST_GEOMETRY_GEOMETRIES_GEOMETRY_COLLECTION_HPP