Tree Compression with Top Trees Revisited
Public Member Functions | Public Attributes | List of all members
NodeHasher< TreeType, DataType > Struct Template Reference

Hash a node for RePair combiner. More...

#include <RePairTreeHasher.h>

Collaboration diagram for NodeHasher< TreeType, DataType >:
Collaboration graph
[legend]

Public Member Functions

 NodeHasher (TreeType &tree, const TopDag< DataType > &topDag, const std::vector< int > &nodeIds)
 
void hashNode (const int nodeId)
 
uint hashCluster (const int clusterId)
 
void hashTree (const int nodeId=0)
 Hash the entire tree in post-order. More...
 

Public Attributes

TreeType & tree
 
const TopDag< DataType > & topDag
 
const std::vector< int > & nodeIds
 
std::vector< uint > cache
 

Detailed Description

template<typename TreeType, typename DataType>
struct NodeHasher< TreeType, DataType >

Hash a node for RePair combiner.

Definition at line 7 of file RePairTreeHasher.h.

Constructor & Destructor Documentation

template<typename TreeType, typename DataType>
NodeHasher< TreeType, DataType >::NodeHasher ( TreeType &  tree,
const TopDag< DataType > &  topDag,
const std::vector< int > &  nodeIds 
)
inline

Create hasher for a tree and its tentative Top DAG

Parameters
treeThe input tree
topDagAn empty Top DAG
nodeIdsAn empty mapping from tree nodes to Top DAG clusters

Definition at line 12 of file RePairTreeHasher.h.

Member Function Documentation

template<typename TreeType, typename DataType>
uint NodeHasher< TreeType, DataType >::hashCluster ( const int  clusterId)
inline

Hash a cluster

Parameters
clusterIdcluster identified by its Top DAG cluster ID
returnsthe hash value (which is also set)

Definition at line 25 of file RePairTreeHasher.h.

template<typename TreeType, typename DataType>
void NodeHasher< TreeType, DataType >::hashNode ( const int  nodeId)
inline

Hash a node

Parameters
nodeIdnode identified by its tree node ID

Definition at line 17 of file RePairTreeHasher.h.

template<typename TreeType, typename DataType>
void NodeHasher< TreeType, DataType >::hashTree ( const int  nodeId = 0)
inline

Hash the entire tree in post-order.

Definition at line 51 of file RePairTreeHasher.h.

Member Data Documentation

template<typename TreeType, typename DataType>
std::vector<uint> NodeHasher< TreeType, DataType >::cache

Definition at line 63 of file RePairTreeHasher.h.

template<typename TreeType, typename DataType>
const std::vector<int>& NodeHasher< TreeType, DataType >::nodeIds

Definition at line 62 of file RePairTreeHasher.h.

template<typename TreeType, typename DataType>
const TopDag<DataType>& NodeHasher< TreeType, DataType >::topDag

Definition at line 61 of file RePairTreeHasher.h.

template<typename TreeType, typename DataType>
TreeType& NodeHasher< TreeType, DataType >::tree

Definition at line 60 of file RePairTreeHasher.h.


The documentation for this struct was generated from the following file: