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

Go to the source code of this file.

Classes

class  atermpp::term_list< Term >
 A list of aterm objects. More...
 
struct  std::hash< atermpp::term_list< Term > >
 The standard hash class. More...
 

Namespaces

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

Typedefs

typedef term_list< atermatermpp::aterm_list
 A term_list with elements of type aterm.
 

Functions

template<class Term >
void atermpp::make_term_list (term_list< Term > &target)
 Make an empty list and put it in target;.
 
template<class Term , class Iter >
void atermpp::make_term_list (term_list< Term > &target, Iter first, Iter last, typename std::enable_if< std::is_base_of< std::bidirectional_iterator_tag, typename std::iterator_traits< Iter >::iterator_category >::value >::type *=nullptr)
 Creates a term_list with the elements from first to last.
 
template<class Term , class Iter , class ATermConverter >
void atermpp::make_term_list (term_list< Term > &target, Iter first, Iter last, const ATermConverter &convert_to_aterm, typename std::enable_if< std::is_base_of< std::bidirectional_iterator_tag, typename std::iterator_traits< Iter >::iterator_category >::value >::type *=0)
 Creates a term_list with the elements from first to last converting the elements before inserting.
 
template<class Term , class Iter , class ATermConverter , class ATermFilter >
void atermpp::make_term_list (term_list< Term > &target, Iter first, Iter last, const ATermConverter &convert_to_aterm, const ATermFilter &aterm_filter, typename std::enable_if< std::is_base_of< std::bidirectional_iterator_tag, typename std::iterator_traits< Iter >::iterator_category >::value >::type *=0)
 Creates a term_list with the elements from first to last, converting and filtering the list.
 
template<class Term , class Iter >
void atermpp::make_term_list (term_list< Term > &target, Iter first, Iter last, typename std::enable_if< !std::is_base_of< std::bidirectional_iterator_tag, typename std::iterator_traits< Iter >::iterator_category >::value >::type *=nullptr)
 Creates a term_list from the elements from first to last.
 
template<class Term , class Iter , class ATermConverter >
void atermpp::make_term_list (term_list< Term > &target, Iter first, Iter last, const ATermConverter &convert_to_aterm, typename std::enable_if< !std::is_base_of< std::bidirectional_iterator_tag, typename std::iterator_traits< Iter >::iterator_category >::value >::type *=nullptr)
 Creates a term_list from the elements from first to last converting the elements before inserting.
 
template<class Term , class Iter , class ATermConverter , class ATermFilter >
void atermpp::make_term_list (term_list< Term > &target, Iter first, Iter last, const ATermConverter &convert_to_aterm, const ATermFilter &aterm_filter, typename std::enable_if< !std::is_base_of< std::random_access_iterator_tag, typename std::iterator_traits< Iter >::iterator_category >::value >::type *=nullptr)
 Creates a term_list from the elements from first to last converting and filtering the elements before inserting.
 
template<class Term >
void atermpp::make_term_list (term_list< Term > &target, std::initializer_list< Term > init)
 A constructor based on an initializer list.
 
template<typename Term >
term_list< Term > atermpp::reverse (const term_list< Term > &l)
 Returns the list with the elements in reversed order.
 
template<typename Term >
term_list< Term > atermpp::sort_list (const term_list< Term > &l, const std::function< bool(const Term &, const Term &)> &ordering=[](const Term &t1, const Term &t2){ return t1< t2;})
 Returns the list with the elements sorted according to the <-operator on the addresses of terms.
 
template<typename Term1 , typename Term2 >
std::conditional< std::is_convertible< Term2, Term1 >::value, term_list< Term1 >, term_list< Term2 > >::type atermpp::operator+ (const term_list< Term1 > &l, const term_list< Term2 > &m)
 Returns the concatenation of two lists with convertible element types.
 
template<typename Term >
term_list< Term > atermpp::push_back (const term_list< Term > &l, const Term &el)
 Appends a new element at the end of the list. Note that the complexity of this function is O(n), with n the number of elements in the list!!!
 
template<typename T >
std::vector< T > atermpp::as_vector (const atermpp::term_list< T > &x)
 Converts the given term list to a vector.
 
template<typename T >
std::set< T > atermpp::as_set (const atermpp::term_list< T > &x)
 Converts the given term list to a set.
 
template<class T >
void std::swap (atermpp::term_list< T > &t1, atermpp::term_list< T > &t2) noexcept
 Swaps two term_lists.