boost::geometry::detail::tupled_output_has用法的示例程序
在使用Boost.Geometry库中,我们有时需要将点、线、多边形等几何元素输出为形如"(x1, y1), (x2, y2), …“或”(x1, y1, z1), (x2, y2, z2), …"的字符串格式。而tupled_output_has就是一个用于判断某个类型是否支持数据成员分别输出的traits类模板。下面是一个使用tupled_output_has的示例程序:
#include <iostream>
#include <string>
#include <vector>
#include <boost/geometry.hpp>
#include <boost/geometry/geometries/register/point.hpp>
#include <boost/geometry/io/io.hpp>
#include <boost/lexical_cast.hpp>
struct my_point {
int x, y, z;
};
BOOST_GEOMETRY_REGISTER_POINT_3D(my_point, int, cs::cartesian, x, y, z)
int main() {
using boost::geometry::detail::tupled_output_has;
std::vector<my_point> points{<