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 106 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 150 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 176 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 128 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 205 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 195 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 66 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 164 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 84 of file standard_utility.h.