Boost.Geometry的reversible_view简介及使用示例
Boost.Geometry是一个C++库,提供了许多几何算法和数据类型。其中,reversible_view类型是一个非常有用的容器适配器,可以为现有的Geometry对象提供可逆访问的视图。
reversible_view类型的定义如下:
template<typename Geometry>
class reversible_view
{
public:
typedef typename boost::range_iterator<Geometry const>::type const_iterator;
typedef typename boost::range_iterator<Geometry>::type iterator;
reversible_view(Geometry& geometry);
const_iterator begin() const;
iterator begin();
const_iterator end() const;
iterator end();
std::size_t size() const;
// ... other methods ...
};
该类型的构造函数需要一个Geometry对象作为参数,并将其存储在一个成员变量中。成员函数begin()和end()返回一个迭代器,可以循环遍历Geometry对象。我们可以使用这些迭代器来实现对Geometry对象的可逆访