mCRL2

An unprotected term does not change the reference count of the shared term when it is copied or moved. More...
#include <aterm_core.h>
Public Member Functions  
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_symbol &  function () const 
Yields the function symbol in an aterm.  
Protected Attributes  
const detail::_aterm *  m_term 
Friends  
detail::_aterm *  detail::address (const unprotected_aterm_core &t) 
An unprotected term does not change the reference count of the shared term when it is copied or moved.
Definition at line 31 of file aterm_core.h.

inlinenoexcept 
Default constuctor.
Definition at line 41 of file aterm_core.h.

inlinenoexcept 
Constructor.
term  The term from which the new term is constructed. 
Definition at line 47 of file aterm_core.h.

inline 
Returns true if this term is not equal to the term assigned by the default constructor of aterms, aterm_appls and aterm_int.
The default constructor of a term_list<T> is the empty list, on which the operator defined yields true. This operation is more efficient than comparing the current term with an aterm(), aterm_list() or an aterm_int().
Definition at line 143 of file aterm_core.h.

inline 
Yields the function symbol in an aterm.
This is for internal use only.
Definition at line 161 of file aterm_core.h.

inline 
Inequality operator on two unprotected aterms.
See note at the == operator. This operator requires constant time.
t  A term to which the current term is compared. 
Definition at line 92 of file aterm_core.h.

inline 
Comparison operator for two unprotected aterms.
This operator requires constant time. It compares the addresses where terms are stored. That means that the outcome of this operator is only stable as long as aterms are not garbage collected.
t  A term to which the current term is compared. 
Definition at line 104 of file aterm_core.h.

inline 
Comparison operator for two unprotected aterms.
This operator requires constant time. See note at the operator <.
t  A term to which the current term is compared. 
Definition at line 122 of file aterm_core.h.

inline 
Comparison operator.
Terms are stored in a maximally shared way. This means that this equality operator can be calculated in constant time.
Definition at line 83 of file aterm_core.h.

inline 
Comparison operator for two unprotected aterms.
This operator requires constant time. See note at the operator <.
t  A term to which the current term is compared. 
Definition at line 113 of file aterm_core.h.

inline 
Comparison operator for two unprotected aterms.
This operator requires constant time. See note at the operator <.
t  A term to which the current term is compared. 
Definition at line 131 of file aterm_core.h.

inlinenoexcept 
Swaps this term with its argument.
This operation is more efficient than exchanging terms by an assignment, as swapping does not require to change the protection of terms.
t  The term with which this term is swapped. 
Definition at line 152 of file aterm_core.h.

inlinenoexcept 
Dynamic check whether the term is an aterm.
This function has constant complexity. It is defined as !type_is_int() && !type_is_list().
Definition at line 55 of file aterm_core.h.

inlinenoexcept 
Dynamic check whether the term is an aterm_int.
This function has constant complexity.
Definition at line 63 of file aterm_core.h.

inlinenoexcept 
Dynamic check whether the term is an aterm_list.
This function has constant complexity.
Definition at line 72 of file aterm_core.h.

friend 

protected 
Definition at line 36 of file aterm_core.h.