num::position_accessor_2d¶
Defined in header <spatial/concepts.hpp>
template <class A, class Scalar = real>
concept position_accessor_2d = field<Scalar> && requires(const A &get_pos, int i) {
{ get_pos(i) } -> std::convertible_to<std::pair<Scalar, Scalar>>;
};
Callable returning the position of particle \(i\) as \((x, y)\).
The acceleration structures never own coordinates. A caller supplies an accessor, so positions may live in a struct of arrays, an array of structs, or a simulation's own particle type.