9#ifndef MCRL2_ATERMPP_INDEXED_SET_H
10#define MCRL2_ATERMPP_INDEXED_SET_H
24 bool ThreadSafe =
false,
25 typename Hash = std::hash<Key>,
26 typename Equals = std::equal_to<Key>,
27 typename Allocator = std::allocator<Key>,
42 :
super(number_of_threads)
51 std::size_t initial_hashtable_size,
54 :
super(number_of_threads, initial_hashtable_size,
hash, equals)
57 void clear(std::size_t thread_index=0)
63 std::pair<size_type, bool>
insert(
const Key& key, std::size_t thread_index=0)
81 bool ThreadSafe =
false,
82 typename Hash = std::hash<Key>,
83 typename Equals = std::equal_to<Key>,
84 typename Allocator = std::allocator<Key>,
88 const std::size_t thread_index=0)
90 return c.
find(v, thread_index) != c.
end(thread_index);
A deque class in which aterms can be stored.
mcrl2::utilities::shared_guard lock_shared()
Acquire a shared lock on this thread aterm pool.
A set that assigns each element an unique index, and protects its internal terms en masse.
super::size_type size_type
mcrl2::utilities::indexed_set< Key, ThreadSafe, Hash, Equals, Allocator, KeyTable > super
indexed_set()
Constructor of an empty indexed set. Starts with a hashtable of size 128.
indexed_set(std::size_t number_of_threads)
Constructor of an empty indexed set. Starts with a hashtable of size 128.
std::pair< size_type, bool > insert(const Key &key, std::size_t thread_index=0)
void clear(std::size_t thread_index=0)
indexed_set(std::size_t number_of_threads, std::size_t initial_hashtable_size, const typename super::hasher &hash=typename super::hasher(), const typename super::key_equal &equals=typename super::key_equal())
Constructor of an empty index set. Starts with a hashtable of the indicated size.
A set that assigns each element an unique index.
iterator end(std::size_t thread_index=0)
End of the forward iterator.
std::pair< size_type, bool > insert(const key_type &key, std::size_t thread_index=0)
Insert a key in the indexed set and return its index.
void clear(std::size_t thread_index=0)
Clears the indexed set by removing all its elements. It is not guaranteed that the memory is released...
const_iterator find(const key_type &key, std::size_t thread_index=0) const
Provides an iterator to the stored key in the indexed set.
A shared lock guard for the shared_mutex.
thread_aterm_pool & g_thread_term_pool()
A reference to the thread local term pool storage.
The main namespace for the aterm++ library.
bool contains(const atermpp::indexed_set< Key, ThreadSafe, Hash, Equals, Allocator, KeyTable > &c, const typename atermpp::indexed_set< Key, ThreadSafe, Hash, Equals, Allocator, KeyTable >::key_type &v, const std::size_t thread_index=0)
A class that takes a linear process specification and checks all tau-summands of that LPS for conflue...