mCRL2
Loading...
Searching...
No Matches
atermpp::detail::reference_aterm< T, typename std::enable_if< std::is_base_of< aterm_core, T >::value >::type > Class Template Reference

An unprotected term that is stored inside an aterm_container. More...

#include <aterm_container.h>

Inheritance diagram for atermpp::detail::reference_aterm< T, typename std::enable_if< std::is_base_of< aterm_core, T >::value >::type >:
atermpp::unprotected_aterm_core

Public Member Functions

 reference_aterm () noexcept=default
 Default constructor.
 
 reference_aterm (const unprotected_aterm_core &other) noexcept
 
 reference_aterm (const T &other) noexcept
 
 reference_aterm (unprotected_aterm_core &&other) noexcept
 
const reference_atermoperator= (const unprotected_aterm_core &other) noexcept
 
const reference_atermoperator= (unprotected_aterm_core &&other) noexcept
 
 operator T& ()
 Converts implicitly to a protected term of type T.
 
 operator const T & () const
 
void mark (std::stack< std::reference_wrapper< detail::_aterm > > &todo) const
 
- 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

- Protected Attributes inherited from atermpp::unprotected_aterm_core
const detail::_atermm_term
 

Detailed Description

template<typename T>
class atermpp::detail::reference_aterm< T, typename std::enable_if< std::is_base_of< aterm_core, T >::value >::type >

An unprotected term that is stored inside an aterm_container.

Definition at line 218 of file aterm_container.h.

Constructor & Destructor Documentation

◆ reference_aterm() [1/4]

template<typename T >
atermpp::detail::reference_aterm< T, typename std::enable_if< std::is_base_of< aterm_core, T >::value >::type >::reference_aterm ( )
defaultnoexcept

Default constructor.

◆ reference_aterm() [2/4]

template<typename T >
atermpp::detail::reference_aterm< T, typename std::enable_if< std::is_base_of< aterm_core, T >::value >::type >::reference_aterm ( const unprotected_aterm_core other)
inlineexplicitnoexcept

Definition at line 224 of file aterm_container.h.

◆ reference_aterm() [3/4]

template<typename T >
atermpp::detail::reference_aterm< T, typename std::enable_if< std::is_base_of< aterm_core, T >::value >::type >::reference_aterm ( const T &  other)
inlinenoexcept

Definition at line 229 of file aterm_container.h.

◆ reference_aterm() [4/4]

template<typename T >
atermpp::detail::reference_aterm< T, typename std::enable_if< std::is_base_of< aterm_core, T >::value >::type >::reference_aterm ( unprotected_aterm_core &&  other)
inlinenoexcept

Definition at line 233 of file aterm_container.h.

Member Function Documentation

◆ mark()

template<typename T >
void atermpp::detail::reference_aterm< T, typename std::enable_if< std::is_base_of< aterm_core, T >::value >::type >::mark ( std::stack< std::reference_wrapper< detail::_aterm > > &  todo) const
inline

Definition at line 257 of file aterm_container.h.

◆ operator const T &()

template<typename T >
atermpp::detail::reference_aterm< T, typename std::enable_if< std::is_base_of< aterm_core, T >::value >::type >::operator const T & ( ) const
inline

Definition at line 249 of file aterm_container.h.

◆ operator T&()

template<typename T >
atermpp::detail::reference_aterm< T, typename std::enable_if< std::is_base_of< aterm_core, T >::value >::type >::operator T& ( )
inline

Converts implicitly to a protected term of type T.

Definition at line 242 of file aterm_container.h.

◆ operator=() [1/2]

template<typename T >
const reference_aterm & atermpp::detail::reference_aterm< T, typename std::enable_if< std::is_base_of< aterm_core, T >::value >::type >::operator= ( const unprotected_aterm_core other)
noexcept

◆ operator=() [2/2]

template<typename T >
const reference_aterm & atermpp::detail::reference_aterm< T, typename std::enable_if< std::is_base_of< aterm_core, T >::value >::type >::operator= ( unprotected_aterm_core &&  other)
noexcept

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