mCRL2
Loading...
Searching...
No Matches
aterm_container.h File Reference

Go to the source code of this file.

Classes

class  atermpp::detail::aterm_container
 Provides safe storage of unprotected_aterm_core instances in a container by marking them during garbage collection. More...
 
struct  atermpp::detail::is_pair_helper< T >
 
struct  atermpp::detail::is_pair_helper< std::pair< T, U > >
 
struct  atermpp::detail::is_pair< T >
 
struct  atermpp::detail::is_reference_aterm_helper< T >
 
struct  atermpp::detail::is_reference_aterm_helper< reference_aterm< T > >
 
struct  atermpp::detail::is_reference_aterm< T >
 
class  atermpp::detail::reference_aterm< T, Type >
 Base class that should not be used. More...
 
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. More...
 
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. More...
 
class  atermpp::detail::reference_aterm< T, typename std::enable_if< is_pair< T >::value >::type >
 A pair that is stored into an atermpp container. This class takes care that all aterms that occur (recursively) inside such a pair are marked, whears non-aterm_core types are not marked.
More...
 
class  atermpp::detail::aterm_allocator< T, Allocator >
 
struct  atermpp::detail::aterm_allocator< T, Allocator >::rebind< U >
 
class  atermpp::detail::generic_aterm_container< Container >
 
struct  std::hash< atermpp::detail::reference_aterm< T > >
 specialization of the standard std::hash function. More...
 

Namespaces

namespace  atermpp
 The main namespace for the aterm++ library.
 
namespace  atermpp::detail
 
namespace  std
 STL namespace.
 

Typedefs

typedef std::stack< std::reference_wrapper< detail::_aterm > > atermpp::term_mark_stack
 

Functions

void atermpp::mark_term (const aterm_core &t, term_mark_stack &todo)
 
template<typename T >
std::pair< typename std::conditional< is_reference_aterm< typename T::first_type >::value, typename T::first_type, reference_aterm< typename T::first_type > >::type, typename std::conditional< is_reference_aterm< typename T::second_type >::value, typename T::second_type, reference_aterm< typename T::second_type > >::type > atermpp::detail::reference_aterm_pair_constructor_helper (const T &other)