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.