[geometry] merge of Boost.Geometry into release branch

[SVN r84242]
This commit is contained in:
Barend Gehrels
2013-05-12 10:58:26 +00:00
parent ab7f6c110b
commit 485923d149
198 changed files with 9808 additions and 766 deletions

View File

@@ -25,6 +25,7 @@
#include <boost/geometry/algorithms/num_points.hpp>
#include <boost/geometry/geometries/geometries.hpp>
#include <boost/geometry/geometries/register/linestring.hpp>
#include <boost/variant/variant.hpp>
#include <test_common/test_point.hpp>
#include <test_geometries/wrapped_boost_array.hpp>
@@ -34,9 +35,8 @@ BOOST_GEOMETRY_REGISTER_LINESTRING_TEMPLATED(std::deque)
template <typename G>
void test_geometry(bool check = true)
void test_geometry(G& geometry, bool check)
{
G geometry;
typedef typename bg::point_type<G>::type P;
bg::append(geometry, bg::make_zero<P>());
@@ -66,19 +66,28 @@ void test_geometry(bool check = true)
//P p = boost::range::front(geometry);
}
template <typename G>
void test_geometry_and_variant(bool check = true)
{
G geometry;
boost::variant<G> variant_geometry = G();
test_geometry(geometry, check);
test_geometry(variant_geometry, check);
}
template <typename P>
void test_all()
{
test_geometry<P>(false);
test_geometry<bg::model::box<P> >(false);
test_geometry<bg::model::segment<P> >(false);
test_geometry<bg::model::linestring<P> >();
test_geometry<bg::model::ring<P> >();
test_geometry<bg::model::polygon<P> >();
test_geometry_and_variant<P>(false);
test_geometry_and_variant<bg::model::box<P> >(false);
test_geometry_and_variant<bg::model::segment<P> >(false);
test_geometry_and_variant<bg::model::linestring<P> >();
test_geometry_and_variant<bg::model::ring<P> >();
test_geometry_and_variant<bg::model::polygon<P> >();
test_geometry<std::vector<P> >();
test_geometry<std::deque<P> >();
//test_geometry<std::list<P> >();
test_geometry_and_variant<std::vector<P> >();
test_geometry_and_variant<std::deque<P> >();
//test_geometry_and_variant<std::list<P> >();
}
int test_main(int, char* [])