Template Struct TreeNodeHasher

Struct Documentation

template<typename TreeNode, bool force_hash_collisions = false>
struct TreeNodeHasher

Functor to compute the hash of a given (evaluation) tree node.

This is the node-id hasher (hash::value): batching-blind, used by compute_dag_boulevard / CSE and the top-level cache. The runtime cache keys by CachedValue (value_id.hpp), whose hasher (CachedValueHasher) and equality (CachedValueEqual) reduce to this hasher and TreeNodeEqualityComparator on the wrapped node.

Public Types

using is_transparent = void

Trait used by the C++ STL allowing heterogenous lookups.

Public Functions

inline std::size_t operator()(const TreeNode *node) const
inline std::size_t operator()(const TreeNode &node) const