Spatial C++ Library
Generic Multi-Dimensional Containers and Spatial Operations
|
Define a weighted link type for the relaxed k-d 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 non-assignable type, because the key it contains is a constant type. More... | |
Define a weighted link type for the relaxed k-d 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 non-assignable 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 copy-construction 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.