solver  1.0
Classes | Functions
calculation of hashes

Methods and structures related to the calculation of hashes. More...

Classes

struct  std::hash< ShortestCircuit >
 Template specialization of the hash for the ShortestCircuit data-structure. More...
 
struct  std::hash< pair< uint32_t, uint32_t > >
 Template specialization of the hash for a pair of uint32_t. More...
 
struct  std::hash< pair< Location *, Location * > >
 Template specialization of the hash for a pair of Location pointers. More...
 

Functions

template<class C >
uint64_t hashOW (const C &v)
 It calculates a hash of the container, the order of elements influences (Order Wise) the hash value. More...
 
template<class C >
uintptr_t hashEW (const C &v)
 It calculates a hash of the container, the order of elements does not influence (Element Wise) the hash value. More...
 

Detailed Description

Methods and structures related to the calculation of hashes.

As there is not default implementation of the hash for some data structures, we implemented the missing hashes by using the template specializations.

See also
pack, unpack

Function Documentation

template<class C >
uintptr_t hashEW ( const C &  v)

It calculates a hash of the container, the order of elements does not influence (Element Wise) the hash value.

Parameters
vIterable container.
Template Parameters
CCurrently it is either vector<Location*> or set<Location*>.
Returns
Calculated hash value of the container.
template<class C >
uint64_t hashOW ( const C &  v)

It calculates a hash of the container, the order of elements influences (Order Wise) the hash value.

Parameters
vIterable container.
Template Parameters
CCurrently it is either vector<uint32_t> or vector<StaticActivity*>.
Returns
Calculated hash value of the container.