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

A reference aterm_core applied to fundamental types, such as int, bool. Nothing needs to happen with such terms. But a special class is needed, because such types are not classes, and we cannot derive from it. More...

#include <aterm_container.h>

Public Member Functions

 reference_aterm () noexcept=default
 Default constructor.
 
 reference_aterm (const T &other) noexcept
 
 reference_aterm (T_type &&other) noexcept
 
const T & operator= (const T &other) noexcept
 
const T & operator= (T &&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 > > &) const
 
bool operator== (const reference_aterm &other) const
 

Protected Types

typedef std::decay< T >::type T_type
 

Protected Attributes

T_type m_t
 

Detailed Description

template<class T>
class atermpp::detail::reference_aterm< T, typename std::enable_if< std::is_fundamental< typename std::decay< T >::type >::value >::type >

A reference aterm_core applied to fundamental types, such as int, bool. Nothing needs to happen with such terms. But a special class is needed, because such types are not classes, and we cannot derive from it.

Definition at line 162 of file aterm_container.h.

Member Typedef Documentation

◆ T_type

template<class T >
typedef std::decay<T>::type atermpp::detail::reference_aterm< T, typename std::enable_if< std::is_fundamental< typename std::decay< T >::type >::value >::type >::T_type
protected

Definition at line 165 of file aterm_container.h.

Constructor & Destructor Documentation

◆ reference_aterm() [1/3]

template<class T >
atermpp::detail::reference_aterm< T, typename std::enable_if< std::is_fundamental< typename std::decay< T >::type >::value >::type >::reference_aterm ( )
defaultnoexcept

Default constructor.

◆ reference_aterm() [2/3]

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

Definition at line 173 of file aterm_container.h.

◆ reference_aterm() [3/3]

template<class T >
atermpp::detail::reference_aterm< T, typename std::enable_if< std::is_fundamental< typename std::decay< T >::type >::value >::type >::reference_aterm ( T_type &&  other)
inlinenoexcept

Definition at line 177 of file aterm_container.h.

Member Function Documentation

◆ mark()

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

Definition at line 204 of file aterm_container.h.

◆ operator const T &()

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

Definition at line 199 of file aterm_container.h.

◆ operator T&()

template<class T >
atermpp::detail::reference_aterm< T, typename std::enable_if< std::is_fundamental< typename std::decay< T >::type >::value >::type >::operator T& ( )
inline

Converts implicitly to a protected term of type T.

Definition at line 194 of file aterm_container.h.

◆ operator=() [1/2]

template<class T >
const T & atermpp::detail::reference_aterm< T, typename std::enable_if< std::is_fundamental< typename std::decay< T >::type >::value >::type >::operator= ( const T &  other)
inlinenoexcept

Definition at line 181 of file aterm_container.h.

◆ operator=() [2/2]

template<class T >
const T & atermpp::detail::reference_aterm< T, typename std::enable_if< std::is_fundamental< typename std::decay< T >::type >::value >::type >::operator= ( T &&  other)
inlinenoexcept

Definition at line 187 of file aterm_container.h.

◆ operator==()

template<class T >
bool atermpp::detail::reference_aterm< T, typename std::enable_if< std::is_fundamental< typename std::decay< T >::type >::value >::type >::operator== ( const reference_aterm< T, typename std::enable_if< std::is_fundamental< typename std::decay< T >::type >::value >::type > &  other) const
inline

Definition at line 209 of file aterm_container.h.

Member Data Documentation

◆ m_t

template<class T >
T_type atermpp::detail::reference_aterm< T, typename std::enable_if< std::is_fundamental< typename std::decay< T >::type >::value >::type >::m_t
protected

Definition at line 166 of file aterm_container.h.


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