mCRL2
Loading...
Searching...
No Matches
mcrl2::data::lazy Namespace Reference

A collection of utilities for lazy expression construction. More...

Functions

data_expression not_ (data_expression const &p)
 Returns an expression equivalent to not p.
 
data_expression or_ (data_expression const &p, data_expression const &q)
 Returns an expression equivalent to p and q.
 
data_expression and_ (data_expression const &p, data_expression const &q)
 Returns an expression equivalent to p or q.
 
data_expression implies (data_expression const &p, data_expression const &q)
 Returns an expression equivalent to p implies q.
 
data_expression equal_to (data_expression const &p, data_expression const &q)
 Returns an expression equivalent to p == q.
 
data_expression not_equal_to (data_expression const &p, data_expression const &q)
 Returns an expression equivalent to p == q.
 
data_expression if_ (const data_expression &cond, const data_expression &then, const data_expression &else_)
 Returns an expression equivalent to if(cond,then,else_)
 
template<typename ForwardTraversalIterator >
data_expression join_or (ForwardTraversalIterator first, ForwardTraversalIterator last)
 Returns or applied to the sequence of data expressions [first, last)
 
template<typename ForwardTraversalIterator >
data_expression join_and (ForwardTraversalIterator first, ForwardTraversalIterator last)
 Returns and applied to the sequence of data expressions [first, last)
 

Detailed Description

A collection of utilities for lazy expression construction.

The basic idea is to keep expressions that result from application of any of the container operations by applying the usual rules of logic.

For example and(true, x) as in ‘and’ applied to ‘true’ and ‘x’ yields x.

Function Documentation

◆ and_()

data_expression mcrl2::data::lazy::and_ ( data_expression const &  p,
data_expression const &  q 
)
inline

Returns an expression equivalent to p or q.

Parameters
pA data expression
qA data expression
Returns
The value p || q

Definition at line 107 of file standard_utility.h.

◆ equal_to()

data_expression mcrl2::data::lazy::equal_to ( data_expression const &  p,
data_expression const &  q 
)
inline

Returns an expression equivalent to p == q.

Parameters
pA data expression
qA data expression
Returns
The value p == q

Definition at line 151 of file standard_utility.h.

◆ if_()

data_expression mcrl2::data::lazy::if_ ( const data_expression cond,
const data_expression then,
const data_expression else_ 
)
inline

Returns an expression equivalent to if(cond,then,else_)

Returns
The value if(cond,then,else_)

Definition at line 177 of file standard_utility.h.

◆ implies()

data_expression mcrl2::data::lazy::implies ( data_expression const &  p,
data_expression const &  q 
)
inline

Returns an expression equivalent to p implies q.

Parameters
pA data expression
qA data expression
Returns
The value p || q

Definition at line 129 of file standard_utility.h.

◆ join_and()

template<typename ForwardTraversalIterator >
data_expression mcrl2::data::lazy::join_and ( ForwardTraversalIterator  first,
ForwardTraversalIterator  last 
)
inline

Returns and applied to the sequence of data expressions [first, last)

Parameters
firstStart of a sequence of data expressions
lastEnd of a sequence of data expressions
Returns
And applied to the sequence of data expressions [first, last)

Definition at line 206 of file standard_utility.h.

◆ join_or()

template<typename ForwardTraversalIterator >
data_expression mcrl2::data::lazy::join_or ( ForwardTraversalIterator  first,
ForwardTraversalIterator  last 
)
inline

Returns or applied to the sequence of data expressions [first, last)

Parameters
firstStart of a sequence of data expressions
lastEnd of a sequence of data expressions
Returns
Or applied to the sequence of data expressions [first, last)

Definition at line 196 of file standard_utility.h.

◆ not_()

data_expression mcrl2::data::lazy::not_ ( data_expression const &  p)
inline

Returns an expression equivalent to not p.

Parameters
pA data expression
Returns
The value !p

Definition at line 67 of file standard_utility.h.

◆ not_equal_to()

data_expression mcrl2::data::lazy::not_equal_to ( data_expression const &  p,
data_expression const &  q 
)
inline

Returns an expression equivalent to p == q.

Parameters
pA data expression
qA data expression
Returns
The value ! p == q

Definition at line 165 of file standard_utility.h.

◆ or_()

data_expression mcrl2::data::lazy::or_ ( data_expression const &  p,
data_expression const &  q 
)
inline

Returns an expression equivalent to p and q.

Parameters
pA data expression
qA data expression
Returns
The value p && q

Definition at line 85 of file standard_utility.h.