mdds
Public Types | Public Member Functions | Public Attributes | List of all members
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_baseoperator= (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.