// Boost.Geometry (aka GGL, Generic Geometry Library) // // Copyright (c) 2007-2015 Barend Gehrels, Amsterdam, the Netherlands. // 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() { test_mixed_identical_result < bg::model::multi_point, bg::model::multi_point > ("MULTIPOINT((1 1),(2 2),(3 3))"); test_mixed_identical_result < bg::model::multi_linestring >, bg::model::multi_linestring > > ("MULTILINESTRING((1 1,2 2),(3 3,4 4))"); // Single -> multi (always possible) test_mixed < Point1, bg::model::multi_point > ( "POINT(1 1)", "MULTIPOINT((1 1))", 1 ); test_mixed < bg::model::linestring, bg::model::multi_linestring > > ( "LINESTRING(1 1,2 2)", "MULTILINESTRING((1 1,2 2))", 2 ); test_mixed < bg::model::segment, bg::model::multi_linestring > > ( "LINESTRING(1 1,2 2)", "MULTILINESTRING((1 1,2 2))", 2 ); test_mixed < bg::model::box, bg::model::multi_polygon > > ( "BOX(0 0,1 1)", "MULTIPOLYGON(((0 0,0 1,1 1,1 0,0 0)))", 5 ); test_mixed < 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 ); // 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; }