Повышаю. Массивы решеток адаптированы к Boost. Концепция точки геометрии
A boost::array (факультативно) адаптирован к Boost. Понятие точки геометрии. Поэтому его можно использовать во всех случаях. Алгоритмы геометрии.
Усиление::массив может быть точечным типом, используемым моделями линейной, многоугольной, сегментной, коробочной и кольцевой
Point Concept
#include <boost/geometry/geometries/adapted/boost_array.hpp>
Стандартный заголовок boost/геометрия.hpp
не включает этот заголовок.
Показывает, как использовать буст. Аррей с помощью Boost. Алгоритмы расстояния, набора и присвоения значений геометрии
#include <iostream>
#include <boost/geometry.hpp>
#include <boost/geometry/geometries/linestring.hpp>
#include <boost/geometry/geometries/adapted/boost_array.hpp>
BOOST_GEOMETRY_REGISTER_BOOST_ARRAY_CS(cs::cartesian)
int main()
{
boost::array<float, 2> a = { {1, 2} };
boost::array<double, 2> b = { {2, 3} };
std::cout << boost::geometry::distance(a, b) << std::endl;
boost::geometry::set<0>(a, 1.1f);
boost::geometry::set<1>(a, 2.2f);
std::cout << boost::geometry::distance(a, b) << std::endl;
boost::geometry::assign_values(b, 2.2, 3.3);
std::cout << boost::geometry::distance(a, b) << std::endl;
boost::geometry::model::linestring<boost::array<double, 2> > line;
line.push_back(b);
return 0;
}
Результат:
1.41421
1.20416
1.55563