mdds
Loading...
Searching...
No Matches
mdds::quad_node_base< _NodePtr, _NodeType, _Key > Struct Template Reference

Public Types

typedef _Key key_type
typedef _NodePtr node_ptr
typedef _NodeType node_type

Public Member Functions

 quad_node_base (key_type _x, key_type _y)
 quad_node_base (const quad_node_base &r)
bool leaf () const
bool operator== (const quad_node_base &r) const
quad_node_base & operator= (const quad_node_base &r)
node_quadrant_t get_quadrant (key_type other_x, key_type other_y) const
bool has_quadrant_node (node_quadrant_t quad) const
node_ptr get_quadrant_node (node_quadrant_t quad) const

Public Attributes

size_t refcount
node_ptr parent
node_ptr northeast
node_ptr northwest
node_ptr southeast
node_ptr southwest
key_type x
key_type y

Constructor & Destructor Documentation

◆ quad_node_base()

template<typename _NodePtr, typename _NodeType, typename _Key>
mdds::quad_node_base< _NodePtr, _NodeType, _Key >::quad_node_base ( const quad_node_base< _NodePtr, _NodeType, _Key > & r)
inline

When copying node, only the stored values should be copied. Connections to the parent and the neighboring nodes must not be copied.

Member Function Documentation

◆ get_quadrant()

template<typename _NodePtr, typename _NodeType, typename _Key>
node_quadrant_t mdds::quad_node_base< _NodePtr, _NodeType, _Key >::get_quadrant ( key_type other_x,
key_type other_y ) const
inline

Return the quadrant of specified point in reference to this node.

Returns
quadrant where the other node is located in reference to this node.

◆ operator=()

template<typename _NodePtr, typename _NodeType, typename _Key>
quad_node_base & mdds::quad_node_base< _NodePtr, _NodeType, _Key >::operator= ( const quad_node_base< _NodePtr, _NodeType, _Key > & r)
inline

Like the copy constructor, only the stored values should be copied.