// Boost.Geometry (aka GGL, Generic Geometry Library) // Copyright (c) 2007-2015 Barend Gehrels, Amsterdam, the Netherlands. // This file was modified by Oracle on 2021. // Modifications copyright (c) 2021, Oracle and/or its affiliates. // Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle // Use, modification and distribution is subject to 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) #include template void test_mixed_point_types() { check, bg::model::multi_point>( "MULTIPOINT((1 1),(2 2),(3 3))"); check < bg::model::multi_linestring >, bg::model::multi_linestring > >("MULTILINESTRING((1 1,2 2),(3 3,4 4))"); // Single -> multi (always possible) check>( "POINT(1 1)", "MULTIPOINT((1 1))", 1); check < bg::model::linestring, bg::model::multi_linestring > >("LINESTRING(1 1,2 2)", "MULTILINESTRING((1 1,2 2))", 2); check < bg::model::segment, bg::model::multi_linestring > >("LINESTRING(1 1,2 2)", "MULTILINESTRING((1 1,2 2))", 2); check < bg::model::box, bg::model::multi_polygon > >("BOX(0 0,1 1)", "MULTIPOLYGON(((0 0,0 1,1 1,1 0,0 0)))", 5); check < bg::model::ring, bg::model::multi_polygon > >("POLYGON((0 0,0 1,1 1,1 0,0 0))", "MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)))", 5); check < bg::model::ring, bg::model::multi_polygon > >("POLYGON((0 0,1 0,1 1,0 1))", "MULTIPOLYGON(((0 0,0 1,1 1,1 0,0 0)))", 5); // Multi -> single: should not compile (because multi often have 0 or >1 elements) } template void test_mixed_types() { test_mixed_point_types(); test_mixed_point_types(); } int test_main( int , char* [] ) { test_mixed_types < bg::model::point, bg::model::point >(); return 0; }