mCRL2
Loading...
Searching...
No Matches
mcrl2::lps::multi_action Class Reference

\brief A timed multi-action More...

#include <multi_action.h>

Inheritance diagram for mcrl2::lps::multi_action:
atermpp::aterm atermpp::aterm_core atermpp::unprotected_aterm_core mcrl2::lts::action_label_lts

Public Member Functions

 multi_action (const multi_action &) noexcept=default
 Move semantics.
 
 multi_action (multi_action &&) noexcept=default
 
multi_actionoperator= (const multi_action &) noexcept=default
 
multi_actionoperator= (multi_action &&) noexcept=default
 
const process::action_listactions () const
 
const data::data_expressiontime () const
 
 multi_action (const process::action_list &actions=process::action_list(), data::data_expression time=data::undefined_real())
 Constructor.
 
 multi_action (const atermpp::aterm &term)
 Constructor.
 
 multi_action (const process::action &l)
 Constructor.
 
bool has_time () const
 Returns true if time is available.
 
multi_action operator+ (const multi_action &other) const
 Joins the actions of both multi actions.
 
multi_action sort_actions () const
 Returns the multiaction in which the list of actions is sorted.
 
- Public Member Functions inherited from atermpp::aterm
 aterm ()
 Default constructor.
 
 aterm (const aterm &other) noexcept=default
 This class has user-declared copy constructor so declare default copy and move operators.
 
atermoperator= (const aterm &other) noexcept=default
 
 aterm (aterm &&other) noexcept=default
 
atermoperator= (aterm &&other) noexcept=default
 
template<class ForwardIterator , typename std::enable_if< mcrl2::utilities::is_iterator< ForwardIterator >::value >::type * = nullptr, typename std::enable_if<!std::is_same< typename ForwardIterator::iterator_category, std::input_iterator_tag >::value >::type * = nullptr, typename std::enable_if<!std::is_same< typename ForwardIterator::iterator_category, std::output_iterator_tag >::value >::type * = nullptr>
 aterm (const function_symbol &sym, ForwardIterator begin, ForwardIterator end)
 Constructor that provides an aterm based on a function symbol and forward iterator providing the arguments.
 
template<class InputIterator , typename std::enable_if< mcrl2::utilities::is_iterator< InputIterator >::value >::type * = nullptr, typename std::enable_if< std::is_same< typename InputIterator::iterator_category, std::input_iterator_tag >::value >::type * = nullptr>
 aterm (const function_symbol &sym, InputIterator begin, InputIterator end)
 Constructor that provides an aterm based on a function symbol and an input iterator providing the arguments.
 
template<class InputIterator , class TermConverter , typename std::enable_if< mcrl2::utilities::is_iterator< InputIterator >::value >::type * = nullptr>
 aterm (const function_symbol &sym, InputIterator begin, InputIterator end, TermConverter converter)
 
 aterm (const function_symbol &sym)
 Constructor.
 
template<typename ... Terms>
 aterm (const function_symbol &symbol, const Terms &...arguments)
 Constructor for n-arity function application.
 
const function_symbolfunction () const
 Returns the function symbol belonging to an aterm.
 
size_type size () const
 Returns the number of arguments of this term.
 
bool empty () const
 Returns true if the term has no arguments.
 
const_iterator begin () const
 Returns an iterator pointing to the first argument.
 
const_iterator end () const
 Returns a const_iterator pointing past the last argument.
 
constexpr size_type max_size () const
 Returns the largest possible number of arguments.
 
const atermoperator[] (const size_type i) const
 Returns the i-th argument.
 
- Public Member Functions inherited from atermpp::aterm_core
 aterm_core () noexcept
 Default constructor.
 
 ~aterm_core () noexcept
 Standard destructor.
 
 aterm_core (const detail::_aterm *t) noexcept
 Constructor based on an internal term data structure. This is not for public use.
 
 aterm_core (const aterm_core &other) noexcept
 Copy constructor.
 
 aterm_core (aterm_core &&other) noexcept
 Move constructor.
 
aterm_coreoperator= (const aterm_core &other) noexcept
 Assignment operator.
 
aterm_coreassign (const aterm_core &other, detail::thread_aterm_pool &pool) noexcept
 Assignment operator, to be used if busy and forbidden flags are explicitly available.
 
template<bool CHECK_BUSY_FLAG = true>
aterm_coreunprotected_assign (const aterm_core &other) noexcept
 Assignment operator, to be used when the busy flags do not need to be set.
 
aterm_coreoperator= (aterm_core &&other) noexcept
 Move assignment operator.
 
- Public Member Functions inherited from atermpp::unprotected_aterm_core
 unprotected_aterm_core () noexcept
 Default constuctor.
 
 unprotected_aterm_core (const detail::_aterm *term) noexcept
 Constructor.
 
bool type_is_appl () const noexcept
 Dynamic check whether the term is an aterm.
 
bool type_is_int () const noexcept
 Dynamic check whether the term is an aterm_int.
 
bool type_is_list () const noexcept
 Dynamic check whether the term is an aterm_list.
 
bool operator== (const unprotected_aterm_core &t) const
 Comparison operator.
 
bool operator!= (const unprotected_aterm_core &t) const
 Inequality operator on two unprotected aterms.
 
bool operator< (const unprotected_aterm_core &t) const
 Comparison operator for two unprotected aterms.
 
bool operator> (const unprotected_aterm_core &t) const
 Comparison operator for two unprotected aterms.
 
bool operator<= (const unprotected_aterm_core &t) const
 Comparison operator for two unprotected aterms.
 
bool operator>= (const unprotected_aterm_core &t) const
 Comparison operator for two unprotected aterms.
 
bool defined () const
 Returns true if this term is not equal to the term assigned by the default constructor of aterms, aterm_appls and aterm_int.
 
void swap (unprotected_aterm_core &t) noexcept
 Swaps this term with its argument.
 
const function_symbolfunction () const
 Yields the function symbol in an aterm.
 

Additional Inherited Members

- Public Types inherited from atermpp::aterm
typedef std::size_t size_type
 An unsigned integral type.
 
typedef ptrdiff_t difference_type
 A signed integral type.
 
typedef term_appl_iterator< atermiterator
 Iterator used to iterate through an term_appl.
 
typedef term_appl_iterator< atermconst_iterator
 Const iterator used to iterate through an term_appl.
 
- Protected Member Functions inherited from atermpp::aterm
 aterm (detail::_term_appl *t)
 Constructor.
 
- Protected Attributes inherited from atermpp::unprotected_aterm_core
const detail::_atermm_term
 

Detailed Description

\brief A timed multi-action

Definition at line 29 of file multi_action.h.

Constructor & Destructor Documentation

◆ multi_action() [1/5]

mcrl2::lps::multi_action::multi_action ( const multi_action )
defaultnoexcept

Move semantics.

◆ multi_action() [2/5]

mcrl2::lps::multi_action::multi_action ( multi_action &&  )
defaultnoexcept

◆ multi_action() [3/5]

mcrl2::lps::multi_action::multi_action ( const process::action_list actions = process::action_list(),
data::data_expression  time = data::undefined_real() 
)
inlineexplicit

Constructor.

Definition at line 51 of file multi_action.h.

◆ multi_action() [4/5]

mcrl2::lps::multi_action::multi_action ( const atermpp::aterm term)
inlineexplicit

Constructor.

Parameters
termA term

Definition at line 60 of file multi_action.h.

◆ multi_action() [5/5]

mcrl2::lps::multi_action::multi_action ( const process::action l)
inlineexplicit

Constructor.

Definition at line 67 of file multi_action.h.

Member Function Documentation

◆ actions()

const process::action_list & mcrl2::lps::multi_action::actions ( ) const
inline

Definition at line 40 of file multi_action.h.

◆ has_time()

bool mcrl2::lps::multi_action::has_time ( ) const
inline

Returns true if time is available.

Returns
True if time is available.

Definition at line 73 of file multi_action.h.

◆ operator+()

multi_action mcrl2::lps::multi_action::operator+ ( const multi_action other) const
inline

Joins the actions of both multi actions.

Precondition
The time of both multi actions must be equal.

Definition at line 80 of file multi_action.h.

◆ operator=() [1/2]

multi_action & mcrl2::lps::multi_action::operator= ( const multi_action )
defaultnoexcept

◆ operator=() [2/2]

multi_action & mcrl2::lps::multi_action::operator= ( multi_action &&  )
defaultnoexcept

◆ sort_actions()

multi_action mcrl2::lps::multi_action::sort_actions ( ) const
inline

Returns the multiaction in which the list of actions is sorted.

Returns
A multi-action with a sorted list.

Definition at line 88 of file multi_action.h.

◆ time()

const data::data_expression & mcrl2::lps::multi_action::time ( ) const
inline

Definition at line 45 of file multi_action.h.


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