mCRL2
Loading...
Searching...
No Matches
atermpp::detail::aterm_hasher< N > Struct Template Reference

Computes the hash of the given term. More...

#include <aterm_hash.h>

Inheritance diagram for atermpp::detail::aterm_hasher< N >:
atermpp::detail::aterm_hasher_finite< N >

Public Types

using is_transparent = void
 

Public Member Functions

std::size_t operator() (const _aterm &term) const noexcept
 Implementation.
 
std::size_t operator() (const function_symbol &symbol) const noexcept
 
std::size_t operator() (const function_symbol &symbol, unprotected_aterm_core arguments[]) const noexcept
 
template<typename ForwardIterator , typename std::enable_if< mcrl2::utilities::is_iterator< ForwardIterator >::value, void >::type * = nullptr>
std::size_t operator() (const function_symbol &symbol, ForwardIterator begin, ForwardIterator end) const noexcept
 

Detailed Description

template<std::size_t N = DynamicNumberOfArguments>
struct atermpp::detail::aterm_hasher< N >

Computes the hash of the given term.

Can be optimized with loop unrolling when template parameter N is provided. However, this assumes that every passed to term has arity equal to N.

Definition at line 84 of file aterm_hash.h.

Member Typedef Documentation

◆ is_transparent

template<std::size_t N = DynamicNumberOfArguments>
using atermpp::detail::aterm_hasher< N >::is_transparent = void

Definition at line 86 of file aterm_hash.h.

Member Function Documentation

◆ operator()() [1/4]

template<std::size_t N>
std::size_t atermpp::detail::aterm_hasher< N >::operator() ( const _aterm term) const
noexcept

Implementation.

Definition at line 167 of file aterm_hash.h.

◆ operator()() [2/4]

template<std::size_t N>
std::size_t atermpp::detail::aterm_hasher< N >::operator() ( const function_symbol symbol) const
noexcept

Definition at line 185 of file aterm_hash.h.

◆ operator()() [3/4]

template<std::size_t N>
template<typename ForwardIterator , typename std::enable_if< mcrl2::utilities::is_iterator< ForwardIterator >::value, void >::type * >
std::size_t atermpp::detail::aterm_hasher< N >::operator() ( const function_symbol symbol,
ForwardIterator  begin,
ForwardIterator  end 
) const
inlinenoexcept

Definition at line 210 of file aterm_hash.h.

◆ operator()() [4/4]

template<std::size_t N>
std::size_t atermpp::detail::aterm_hasher< N >::operator() ( const function_symbol symbol,
unprotected_aterm_core  arguments[] 
) const
noexcept

Definition at line 192 of file aterm_hash.h.


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