19#ifndef MCRL2_LPS_STATE_PROBABILITY_PAIR_H
20#define MCRL2_LPS_STATE_PROBABILITY_PAIR_H
32template <
class STATE,
class PROBABILITY >
68 if constexpr(std::is_convertible<PROBABILITY,atermpp::aterm>::value)
77 static_assert(!std::is_convertible<PROBABILITY,atermpp::aterm>::value);
114template <
class STATE,
class PROBABILITY >
115struct hash<
mcrl2::lps::state_probability_pair<STATE,PROBABILITY> >
119 hash<STATE> state_hasher;
120 hash<PROBABILITY> probability_hasher;
The term_appl class represents function application.
Read-only balanced binary tree of terms.
STATE & state()
Get the state in a state probability pair.
PROBABILITY m_probability
state_probability_pair(state_probability_pair &&p)=default
state_probability_pair & operator=(state_probability_pair &&p)=default
state_probability_pair(const state_probability_pair &p)=default
Copy constructor;.
state_probability_pair & operator=(const state_probability_pair &p)=default
Standard assignment.
const PROBABILITY & probability() const
get the probability from a state proability pair.
const STATE & state() const
Get the state from a state probability pair.
PROBABILITY & probability()
Set the probability in a state probability pair.
state_probability_pair(const STATE &state, const PROBABILITY &probability)
constructor.
bool operator==(const state_probability_pair &other) const
Standard equality operator.
This file contains a specialisation for hashes on pairs. This is not a part of the standard,...
std::size_t hash_combine(const std::size_t h1, const std::size_t h2)
A class that takes a linear process specification and checks all tau-summands of that LPS for conflue...
std::size_t operator()(const mcrl2::lps::state_probability_pair< STATE, PROBABILITY > &p) const