Spatial C++ Library
Generic MultiDimensional Containers and Spatial Operations

Define a weighted link type for the relaxed kd tree. More...
#include <spatial_node.hpp>
Inherits spatial::details::Node< Relaxed_kdtree_link< Key, Value > >.
Public Types  
typedef Key  key_type 
The link to the key type. More...  
typedef Value  value_type 
The link to the value type. More...  
typedef Relaxed_kdtree_link< Key, Value >  link_type 
The link type, which is also itself, since mode are also contained in this type. More...  
typedef link_type *  link_ptr 
The link pointer which is often used, has a dedicated type. More...  
typedef const link_type *  const_link_ptr 
The constant link pointer which is often used, has a dedicated type. More...  
typedef Node< link_type > *  node_ptr 
The node pointer type deduced from the mode. More...  
typedef const Node< link_type > *  const_node_ptr 
The constant node pointer deduced from the mode. More...  
typedef relaxed_invariant_tag  invariant_category 
The category of invariant with associated with this mode. More...  
Public Types inherited from spatial::details::Node< Relaxed_kdtree_link< Key, Value > >  
typedef Relaxed_kdtree_link< Key, Value >  link_type 
The link type that indicate how to reach the key and/or the value from the node. More...  
Public Member Functions  
Relaxed_kdtree_link ()  
Constructs an empty, uninitialized object. More...  
Public Attributes  
Value  value 
The value of the node, required by the Link Mode concept. More...  
weight_type  weight 
The weight is equal to 1 plus the amount of child nodes below the current node. More...  
Public Attributes inherited from spatial::details::Node< Relaxed_kdtree_link< Key, Value > >  
Node *  parent 
A pointer to the parent of the current node. More...  
Node *  left 
A pointer to the left child node of the current node. More...  
Node *  right 
A pointer to the right child node of the current node. More...  
Private Member Functions  
Relaxed_kdtree_link< Key, Value > &  operator= (const Relaxed_kdtree_link< Key, Value > &) 
The link_type is a nonassignable type, because the key it contains is a constant type. More...  
Define a weighted link type for the relaxed kd tree.
This type also contains the linking information, so it is a model of the Link Mode concept.
Key  The key type that is held by the Kdtree_link. 
Value  The value type that is held by the Kdtree_link. 
Definition at line 300 of file spatial_node.hpp.
typedef const link_type* spatial::details::Relaxed_kdtree_link< Key, Value >::const_link_ptr 
The constant link pointer which is often used, has a dedicated type.
Definition at line 312 of file spatial_node.hpp.
typedef const Node<link_type>* spatial::details::Relaxed_kdtree_link< Key, Value >::const_node_ptr 
The constant node pointer deduced from the mode.
Definition at line 316 of file spatial_node.hpp.
typedef relaxed_invariant_tag spatial::details::Relaxed_kdtree_link< Key, Value >::invariant_category 
The category of invariant with associated with this mode.
Definition at line 318 of file spatial_node.hpp.
typedef Key spatial::details::Relaxed_kdtree_link< Key, Value >::key_type 
The link to the key type.
Definition at line 303 of file spatial_node.hpp.
typedef link_type* spatial::details::Relaxed_kdtree_link< Key, Value >::link_ptr 
The link pointer which is often used, has a dedicated type.
Definition at line 310 of file spatial_node.hpp.
typedef Relaxed_kdtree_link<Key, Value> spatial::details::Relaxed_kdtree_link< Key, Value >::link_type 
The link type, which is also itself, since mode are also contained in this type.
Definition at line 308 of file spatial_node.hpp.
typedef Node<link_type>* spatial::details::Relaxed_kdtree_link< Key, Value >::node_ptr 
The node pointer type deduced from the mode.
Definition at line 314 of file spatial_node.hpp.
typedef Value spatial::details::Relaxed_kdtree_link< Key, Value >::value_type 
The link to the value type.
Definition at line 305 of file spatial_node.hpp.
spatial::details::Relaxed_kdtree_link< Key, Value >::Relaxed_kdtree_link  (  ) 
Constructs an empty, uninitialized object.
Definition at line 321 of file spatial_node.hpp.

private 
The link_type is a nonassignable type, because the key it contains is a constant type.
Most algorthims manipulate a pointer to this element rather than this element directly. Note that copyconstruction is permitted.
Value spatial::details::Relaxed_kdtree_link< Key, Value >::value 
The value of the node, required by the Link Mode concept.
In *map containers, the value is necessarily a pair, with the first member being a key, and the second member being the mapped type. In *set containers, the value and the key are one and the same thing.
In any case the value is always constant for keys, and therefore this type cannot be used in assignment operations, since keys cannot be changed. Most algorithm only use a pointer to the link_type.
Definition at line 334 of file spatial_node.hpp.
weight_type spatial::details::Relaxed_kdtree_link< Key, Value >::weight 
The weight is equal to 1 plus the amount of child nodes below the current node.
It is always equal to 1 at least.
Definition at line 338 of file spatial_node.hpp.