HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
UT_ArraySet.h File Reference
#include "UT_ArrayHelp.h"
#include "UT_Assert.h"
#include <SYS/SYS_Inline.h>
#include <SYS/SYS_Math.h>
#include <SYS/SYS_StaticAssert.h>
#include <SYS/SYS_Types.h>
#include <hboost/functional/hash.hpp>
#include <algorithm>
#include <limits>
#include <stdint.h>
#include <utility>
+ Include dependency graph for UT_ArraySet.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  UT::DefaultClearer< T >
 
struct  UT::DefaultClearer< S * >
 
struct  UT::NumericClearer< T >
 
struct  UT::DefaultClearer< int8_t >
 
struct  UT::DefaultClearer< uint8_t >
 
struct  UT::DefaultClearer< int16_t >
 
struct  UT::DefaultClearer< uint16_t >
 
struct  UT::DefaultClearer< int32_t >
 
struct  UT::DefaultClearer< uint32_t >
 
struct  UT::DefaultClearer< int64_t >
 
struct  UT::DefaultClearer< uint64_t >
 
struct  UT::DefaultClearer< float >
 
struct  UT::DefaultClearer< double >
 
struct  UT::DefaultClearer< long double >
 
struct  UT::DefaultClearer< bool >
 
struct  UT::DefaultClearer< std::pair< S0, S1 > >
 
struct  UT::detail::member_type_helper< T >
 
struct  UT::detail::member_type_helper< T C::* >
 
struct  UT::detail::member_type< T >
 
class  UT::ArraySet< Key, MULTI, MAX_LOAD_FACTOR_256, Clearer, Hash, KeyEqual >
 
class  UT::ArraySet< Key, MULTI, MAX_LOAD_FACTOR_256, Clearer, Hash, KeyEqual >::iterator_t< constant_type >
 Set iterator class. More...
 
class  UT::ArraySet< Key, MULTI, MAX_LOAD_FACTOR_256, Clearer, Hash, KeyEqual >::const_iterator
 
struct  UT::DefaultClearer< ArraySet< Key, MULTI, MAX_LOAD_FACTOR_256, Clearer, Hash, KeyEqual > >
 

Namespaces

 UT
 
 UT::detail
 
 std
 std::hash specialization for UT_IntrusivePtr<T>
 

Macros

#define __UT_ArraySet__
 
#define UT_DEFINE_CLEARER_ON_MEMBER(_cls_, _mem_ptr_, _clear_flag_)
 

Typedefs

template<class T >
using UT::member_type_t = typename detail::member_type< T >::type
 
template<typename Key , bool MULTI = false, int MAX_LOAD_FACTOR_256 = 128, typename Clearer = UT::DefaultClearer<Key>, class Hash = hboost::hash<Key>, class KeyEqual = std::equal_to<Key>>
using UT_ArraySet = UT::ArraySet< Key, MULTI, MAX_LOAD_FACTOR_256, Clearer, Hash, KeyEqual >
 

Functions

template<typename Key , bool MULTI, int MAX_LOAD_FACTOR_256, typename Clearer , class Hash , class KeyEqual >
void std::swap (UT::ArraySet< Key, MULTI, MAX_LOAD_FACTOR_256, Clearer, Hash, KeyEqual > &a, UT::ArraySet< Key, MULTI, MAX_LOAD_FACTOR_256, Clearer, Hash, KeyEqual > &b)
 

Macro Definition Documentation

#define __UT_ArraySet__

Definition at line 14 of file UT_ArraySet.h.

#define UT_DEFINE_CLEARER_ON_MEMBER (   _cls_,
  _mem_ptr_,
  _clear_flag_ 
)

Sometimes objects are very simple and dont require anything special. To aid in making UT_ArraySet use more streamlined this macro defines a very basic clearer that can be used for simple objects. Anything further requires the implementor to define a custom clearer.

Definition at line 153 of file UT_ArraySet.h.

Typedef Documentation

template<typename Key , bool MULTI = false, int MAX_LOAD_FACTOR_256 = 128, typename Clearer = UT::DefaultClearer<Key>, class Hash = hboost::hash<Key>, class KeyEqual = std::equal_to<Key>>
using UT_ArraySet = UT::ArraySet<Key,MULTI,MAX_LOAD_FACTOR_256,Clearer,Hash,KeyEqual>

Definition at line 1690 of file UT_ArraySet.h.