32 #include <initializer_list> 43 #ifndef DOXYGEN_SHOULD_SKIP_THIS 45 template <
typename Key >
46 class SetIteratorSafe;
47 template <
typename Key >
49 template <
typename Key,
typename Alloc >
52 template <
typename Key >
53 using SetConstIterator = SetIterator< Key >;
54 template <
typename Key >
55 using SetConstIteratorSafe = SetIteratorSafe< Key >;
69 class SetIteratorStaticEnd {
75 static const SetIteratorSafe< int >* __SetIterEndSafe;
81 static const SetIterator< int >* __SetIterEnd;
87 static const SetIteratorSafe< int >* endSafe4Statics();
93 static const SetIteratorSafe< int >* constEndSafe4Statics();
99 static const SetIterator< int >* end4Statics();
105 static const SetIterator< int >* constEnd4Statics();
108 template <
typename Key,
typename Alloc >
164 template <
typename Key,
typename Alloc = std::allocator< Key > >
201 bool resize_policy =
true);
207 Set(std::initializer_list< Key > list);
220 template <
typename OtherAlloc >
253 template <
typename OtherAlloc >
269 template <
typename OtherAlloc >
278 template <
typename OtherAlloc >
288 template <
typename OtherAlloc >
298 template <
typename OtherAlloc >
308 template <
typename OtherAlloc >
318 template <
typename OtherAlloc >
329 template <
typename OtherAlloc >
365 void insert(
const Key& k);
373 void insert(Key&& k);
385 template <
typename... Args >
386 void emplace(Args&&... args);
395 void erase(
const Key& k);
414 Size size() const noexcept;
420 bool contains(const Key& k) const;
425 template < typename OtherAlloc >
426 bool isSubsetOf(const
Set< Key, OtherAlloc >& s) const;
431 template < typename OtherAlloc >
432 bool isSupersetOf(const
Set< Key, OtherAlloc >& s) const;
438 bool exists(const Key& k) const;
444 bool empty() const noexcept;
450 std::
string toString() const;
498 const
iterator& end() const noexcept;
541 static const
iterator& end4Statics();
669 Size capacity() const;
678 void resize(
Size new_capacity);
690 void setResizePolicy(const
bool new_policy);
697 bool resizePolicy() const;
719 typename NewAlloc = typename Alloc::template rebind< NewKey >::other >
720 HashTable< Key, NewKey, NewAlloc > hashMap(NewKey (*f)(const Key&),
721 Size capacity = 0) const;
738 typename NewAlloc = typename Alloc::template rebind< NewKey >::other >
739 HashTable< Key, NewKey, NewAlloc > hashMap(const NewKey& val,
740 Size size = 0) const;
752 typename NewAlloc = typename Alloc::template rebind< NewKey >::other >
753 List< NewKey, NewAlloc > listMap(NewKey (*f)(const Key&)) const;
762 template < typename K, typename A >
770 Set(const
HashTable< Key,
bool, Alloc >& h);
810 template < typename Key >
850 template <
typename Alloc >
874 ~SetIteratorSafe() noexcept;
959 const Key* operator->()
const;
971 void clear() noexcept;
977 template <
typename K,
typename A >
1024 template <
typename Key >
1064 template <
typename Alloc >
1160 const Key* operator->()
const;
1172 void clear() noexcept;
1178 template <
typename K,
typename A >
1188 template <
typename Key,
typename Alloc >
1189 std::ostream& operator<<(std::ostream&, const Set< Key, Alloc >&);
1193 template <
typename T,
typename Alloc >
1210 #ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 1211 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 1212 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 1213 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 1214 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 1215 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 1223 #ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 1224 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 1225 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 1226 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 1227 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 1228 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 1236 #ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 1237 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 1238 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 1239 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 1240 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 1241 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 1249 #ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 1250 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 1251 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 1252 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 1253 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 1254 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 1263 #ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 1264 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 1265 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 1266 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 1267 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 1268 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 1276 #ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 1277 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 1278 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 1279 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 1280 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 1281 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS aGrUM's Potential is a multi-dimensional array with tensor operators.
std::ptrdiff_t difference_type
value_type * pointer
Types for STL compliance.
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
Formula operator+(const Formula &a, const Formula &b)
Safe iterators for the Set classDevelopers may consider using Set<x>::iterator_safe instead of SetIte...
std::ptrdiff_t difference_type
Key value_type
Types for STL compliance.
std::forward_iterator_tag iterator_category
Types for STL compliance.
static constexpr Size default_size
The default number of slots in hashtables.
Class template representing hashing function of LpCol.
Base class for discrete random variable.
Generic doubly linked lists.
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
The class for generic Hash Tables.
Representation of a setA Set is a structure that contains arbitrary elements.
value_type & reference
Types for STL compliance.
HashTableConstIteratorSafe< Key, bool > __ht_iter
The underlying iterator for the set's hash table containing the data.
Position
An enumeration to position the iterator at the beginning or the end of the set.
std::ostream & operator<<(std::ostream &output, const BayesNet< GUM_SCALAR > &bn)
Prints map's DAG in output using the Graphviz-dot format.
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
HashTableConstIterator< Key, bool > __ht_iter
The underlying iterator for the set's hash table containing the data.
Position
An enumeration to position the iterator at the beginning or the end of the set.
const value_type & const_reference
Types for STL compliance.
Formula operator*(const Formula &a, const Formula &b)
std::forward_iterator_tag iterator_category
Types for STL compliance.
bool operator==(const TiXmlString &a, const TiXmlString &b)
ListConstIterator< Val >::difference_type operator-(const ListConstIterator< Val > &iter1, const ListConstIterator< Val > &iter2)
For STL compliance, a distance operator.
Unsafe iterators for the Set class.
std::ptrdiff_t difference_type
Types for STL compliance.
std::allocator< gum::Potential< GUM_SCALAR > * > allocator_type
bool operator!=(const TiXmlString &a, const TiXmlString &b)
All hash functions should inherit from this class.
const value_type * const_pointer
Types for STL compliance.
std::size_t Size
In aGrUM, hashed values are unsigned long int.
MultiDimInterface & operator>>(MultiDimInterface &c, const DiscreteVariable &v)
Removes a var from the variables of the MutliDimAdressing.
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.