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

using super = process_expression_traverser< linear_process_expression_traverser >
 
- Public Types inherited from mcrl2::process::add_traverser_process_expressions< Traverser, Derived >
using super = Traverser< Derived >
 

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 163 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 181 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 230 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 250 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 210 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 305 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 225 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 215 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 292 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 300 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 315 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 310 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 186 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 194 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 220 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 258 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 202 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 235 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 322 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 171 of file is_linear.h.


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