C-массивы адаптированы под Boost. Концепция точки геометрии
Массивы C, такие как doubleили int[3], (необязательно) адаптированы к Boost. Понятие точки геометрии. Поэтому их можно использовать во многих местах. Алгоритмы геометрии.
Обратите внимание, что массив C не может быть точечным типом строки или многоугольника. Причина этого в том, что std::vector не позволяет содержать C-массивы (это не связано с Boost.Geometry). Поэтому массив C ограничен типом точки.
Point Concept
#include <boost/geometry/geometries/adapted/c_array.hpp>
Стандартный заголовок<boost/geometry.hpp
>не включает этот заголовок.
Небольшой пример, показывающий комбинацию массива с усилителем. Алгоритм геометрии
#include <iostream>
#include <boost/geometry.hpp>
#include <boost/geometry/geometries/adapted/c_array.hpp>
BOOST_GEOMETRY_REGISTER_C_ARRAY_CS(cs::cartesian)
int main()
{
int a[3] = {1, 2, 3};
int b[3] = {2, 3, 4};
std::cout << boost::geometry::distance(a, b) << std::endl;
return 0;
}
Результат:
1.73205