No Matches
aterm_container.h File Reference

Go to the source code of this file.


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.
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...


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


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


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)