template<class Traits, class NodeType>
eckit::SPNode class

Public types

using Point = Traits::Point
using Payload = Traits::Payload
using Alloc = Traits::Alloc
using NodeInfo = SPNodeInfo<Traits, NodeType>
using NodeList = NodeInfo::NodeList
using Value = SPValue<Traits>
using NodeQueue = SPNodeQueue<Traits, NodeType>
using Node = NodeType

Public static functions

template<typename ITER>
static auto build(Alloc& a, const ITER& begin, const ITER& end, int depth = 0) -> SPNode*

Constructors, destructors, conversion operators

template<class V>
SPNode(const V& value)
~SPNode()

Public functions

auto nearestNeighbour(Alloc& a, const Point& p) -> NodeInfo
auto findInSphere(Alloc& a, const Point& p, double radius) -> NodeList
auto kNearestNeighbours(Alloc& a, const Point& p, size_t k) -> NodeList
auto point() const -> const Point&
auto payload() const -> const Payload&
auto value() -> Value&
auto value() const -> const Value&
auto nearestNeighbourBruteForce(Alloc& a, const Point& p) -> NodeInfo
auto findInSphereBruteForce(Alloc& a, const Point& p, double radius) -> NodeList
auto kNearestNeighboursBruteForce(Alloc& a, const Point& p, size_t k) -> NodeList
template<class Visitor>
void visit(Alloc& a, Visitor& v, int depth = 0)
void linkNodes(Alloc& a, Node*& prev = 0)
auto asNode() const -> const Node*
auto asNode() -> Node*
void nearestNeighbourBruteForceX(Alloc& a, const Point& p, Node*& best, double& max, int depth)
void findInSphereBruteForceX(Alloc& a, const Point& p, double radius, NodeList& result, int depth)
void kNearestNeighboursBruteForceX(Alloc& a, const Point& p, size_t k, NodeQueue& result, int depth)
auto left(Alloc& a) const -> Node*
auto right(Alloc& a) const -> Node*
auto next(Alloc& a) const -> Node*
void left(Alloc& a, Node* n)
void right(Alloc& a, Node* n)
void next(Alloc& a, Node* n)
This website is beyond its original expiry date and the content may be out of date. The site owner has been notified and may choose to extend the expiry date and remove this banner. If you have any questions about this, please visit our support portal.