# NodeHandle

## Content

class | NodeHandleSerializer
class | NodeHandleDeserializer

## Functions

| `NodeHandle`
| `NodeHandle`
size_t | `Hash`
bool | `operator==`
bool | `operator!=`
bool | `operator`
NodeHandle | `Invalid`

## Detailed Description

class NodeHandle

  A handle for a point cloud node. A NodeHandle is unique per point cloud tree. That is, if two handles belong to the same point cloud root, they will not compare equal.

  Public Functions

  inline NodeHandle()

    Constructs an invalid node handle of indeterminate state.

  NodeHandle(NodeData const &node_data)

    Constructs a node handle that is identical to node_data

    Parameters

      node_data – The node handle to copy

  size_t Hash() const
  inline bool operator==(NodeHandle const &other) const

    Tests whether or not two node handles are equal.

    Parameters

      other – The node handle to compare against.

    Returns

      true if other equals *this, false otherwise.

  inline bool operator!=(NodeHandle const &other) const

    Tests whether or not two node handles are unequal.

    Parameters

      other – The node handle to compare against.

    Returns

      true if other is unequal to *this, false otherwise.

  inline bool operator<(NodeHandle const &other) const

    Puts a strict ordering on node handles.

    Parameters

      other – The node handle to compare against.

    Returns

      true if other compares less than *this. Returns false otherwise.

  Public Static Functions

  static NodeHandle Invalid()

    Returns a node handle that represents an invalid node handle. The node handle returned by this function can be used as a representative invalid value. This value can be compared against other handles via the equality operators.

  Friends

  friend class delta::on_disk::NodeHandleSerializer
  friend class delta::on_disk::NodeHandleDeserializer