mCRL2
Loading...
Searching...
No Matches
mcrl2::process::detail::linear_process_expression_traverser Struct Reference

Checks if a process equation is linear. Use the is_linear() member function for this. More...

#include <is_linear.h>

Inheritance diagram for mcrl2::process::detail::linear_process_expression_traverser:
mcrl2::process::process_expression_traverser< linear_process_expression_traverser > mcrl2::process::add_traverser_process_expressions< Traverser, Derived >

Classes

struct  non_linear_process_error
 Exception that is thrown by linear_process_expression_traverser. More...
 

Public Types

typedef process_expression_traverser< linear_process_expression_traversersuper
 
- Public Types inherited from mcrl2::process::add_traverser_process_expressions< Traverser, Derived >
typedef Traverser< Derived > super
 

Public Member Functions

 linear_process_expression_traverser (const process_equation &eqn_=process_equation())
 
void enter (const process::process_instance &x)
 
void enter (const process::process_instance_assignment &x)
 
void enter (const process::sum &x)
 
void enter (const process::block &x)
 
void enter (const process::hide &x)
 
void enter (const process::rename &x)
 
void enter (const process::comm &x)
 
void enter (const process::allow &x)
 
void enter (const process::sync &x)
 
void enter (const process::at &x)
 
void enter (const process::seq &x)
 
void enter (const process::if_then &x)
 
void enter (const process::if_then_else &x)
 
void enter (const process::bounded_init &x)
 
void enter (const process::merge &x)
 
void enter (const process::left_merge &x)
 
bool is_linear (const process_expression &x, bool verbose=false)
 Returns true if the process equation e is linear.
 
- Public Member Functions inherited from mcrl2::process::add_traverser_process_expressions< Traverser, Derived >
void apply (const process::process_specification &x)
 
void apply (const process::process_equation &x)
 
void apply (const process::action &x)
 
void apply (const process::process_instance &x)
 
void apply (const process::process_instance_assignment &x)
 
void apply (const process::delta &x)
 
void apply (const process::tau &x)
 
void apply (const process::sum &x)
 
void apply (const process::block &x)
 
void apply (const process::hide &x)
 
void apply (const process::rename &x)
 
void apply (const process::comm &x)
 
void apply (const process::allow &x)
 
void apply (const process::sync &x)
 
void apply (const process::at &x)
 
void apply (const process::seq &x)
 
void apply (const process::if_then &x)
 
void apply (const process::if_then_else &x)
 
void apply (const process::bounded_init &x)
 
void apply (const process::merge &x)
 
void apply (const process::left_merge &x)
 
void apply (const process::choice &x)
 
void apply (const process::stochastic_operator &x)
 
void apply (const process::untyped_process_assignment &x)
 
void apply (const process::process_expression &x)
 

Public Attributes

process_equation eqn
 The process equation that is checked.
 

Detailed Description

Checks if a process equation is linear. Use the is_linear() member function for this.

Definition at line 166 of file is_linear.h.

Member Typedef Documentation

◆ super

Constructor & Destructor Documentation

◆ linear_process_expression_traverser()

mcrl2::process::detail::linear_process_expression_traverser::linear_process_expression_traverser ( const process_equation eqn_ = process_equation())
inline

Definition at line 184 of file is_linear.h.

Member Function Documentation

◆ enter() [1/16]

void mcrl2::process::detail::linear_process_expression_traverser::enter ( const process::allow x)
inline

Definition at line 233 of file is_linear.h.

◆ enter() [2/16]

void mcrl2::process::detail::linear_process_expression_traverser::enter ( const process::at x)
inline

Definition at line 253 of file is_linear.h.

◆ enter() [3/16]

void mcrl2::process::detail::linear_process_expression_traverser::enter ( const process::block x)
inline

Definition at line 213 of file is_linear.h.

◆ enter() [4/16]

void mcrl2::process::detail::linear_process_expression_traverser::enter ( const process::bounded_init x)
inline

Definition at line 308 of file is_linear.h.

◆ enter() [5/16]

void mcrl2::process::detail::linear_process_expression_traverser::enter ( const process::comm x)
inline

Definition at line 228 of file is_linear.h.

◆ enter() [6/16]

void mcrl2::process::detail::linear_process_expression_traverser::enter ( const process::hide x)
inline

Definition at line 218 of file is_linear.h.

◆ enter() [7/16]

void mcrl2::process::detail::linear_process_expression_traverser::enter ( const process::if_then x)
inline

Definition at line 295 of file is_linear.h.

◆ enter() [8/16]

void mcrl2::process::detail::linear_process_expression_traverser::enter ( const process::if_then_else x)
inline

Definition at line 303 of file is_linear.h.

◆ enter() [9/16]

void mcrl2::process::detail::linear_process_expression_traverser::enter ( const process::left_merge x)
inline

Definition at line 318 of file is_linear.h.

◆ enter() [10/16]

void mcrl2::process::detail::linear_process_expression_traverser::enter ( const process::merge x)
inline

Definition at line 313 of file is_linear.h.

◆ enter() [11/16]

void mcrl2::process::detail::linear_process_expression_traverser::enter ( const process::process_instance x)
inline

Definition at line 189 of file is_linear.h.

◆ enter() [12/16]

void mcrl2::process::detail::linear_process_expression_traverser::enter ( const process::process_instance_assignment x)
inline

Definition at line 197 of file is_linear.h.

◆ enter() [13/16]

void mcrl2::process::detail::linear_process_expression_traverser::enter ( const process::rename x)
inline

Definition at line 223 of file is_linear.h.

◆ enter() [14/16]

void mcrl2::process::detail::linear_process_expression_traverser::enter ( const process::seq x)
inline

Definition at line 261 of file is_linear.h.

◆ enter() [15/16]

void mcrl2::process::detail::linear_process_expression_traverser::enter ( const process::sum x)
inline

Definition at line 205 of file is_linear.h.

◆ enter() [16/16]

void mcrl2::process::detail::linear_process_expression_traverser::enter ( const process::sync x)
inline

Definition at line 238 of file is_linear.h.

◆ is_linear()

bool mcrl2::process::detail::linear_process_expression_traverser::is_linear ( const process_expression x,
bool  verbose = false 
)
inline

Returns true if the process equation e is linear.

Definition at line 325 of file is_linear.h.

Member Data Documentation

◆ eqn

process_equation mcrl2::process::detail::linear_process_expression_traverser::eqn

The process equation that is checked.

Definition at line 174 of file is_linear.h.


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