...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
Macro to register a templated multi_point.
The macro BOOST_GEOMETRY_REGISTER_MULTI_POINT_TEMPLATED registers a templated multi_point such that it is recognized by Boost.Geometry and that Boost.Geometry functionality can used with the specified type. The type must have one template parameter, which should be a point type, and should not be specified. Boost.Geometry takes care of inserting the template parameter. Hence all types of this templated multi_point are registered, regardless of their point type.
#define BOOST_GEOMETRY_REGISTER_MULTI_POINT_TEMPLATED(MultiPoint)
Name |
Description |
---|---|
MultiPoint |
multi_point (without template parameters) type to be registered |
#include <boost/geometry/geometries/register/multi_point.hpp>
Show the use of the macro BOOST_GEOMETRY_REGISTER_MULTI_POINT_TEMPLATED
#include <iostream> #include <boost/geometry.hpp> #include <boost/geometry/geometries/adapted/boost_tuple.hpp> #include <boost/geometry/geometries/register/multi_point.hpp> BOOST_GEOMETRY_REGISTER_MULTI_POINT_TEMPLATED(std::deque) BOOST_GEOMETRY_REGISTER_BOOST_TUPLE_CS(cs::cartesian) int main() { // Normal usage of std:: std::deque<boost::tuple<float, float> > multi_point; multi_point.push_back(boost::tuple<float, float>(1, 1)); multi_point.push_back(boost::tuple<float, float>(3, 2)); // Usage of Boost.Geometry std::cout << "WKT: " << boost::geometry::wkt(multi_point) << std::endl; return 0; }
Output:
WKT: MULTIPOINT((1 1),(3 2))