intervaltree.khash

Based on https://github.com/attractivechaos/klib commit 8ffbbdb2bf80ee84ba089dbabd5fa2420ee9aefe dated 2019-03-24

Members

Classes

KHash
class KHash(T, hashfn, khint_t = uint32_t)

template<class T, class Hash, class Eq = std::equal_to<T>, typename khint_t = uint32_t>

Functions

__ac_fsize
string __ac_fsize(string m)

If < 16 return 1, othewise return m / 16 #define __ac_fsize(m) ((m) < 16? 1 : (m)>>4)

__ac_isdel
auto __ac_isdel(uint32_t* flag, T i)

#define __ac_isdel(flag, i) ((flag[i>>4]>>((i&0xfU)<<1))&1)

__ac_isdel
auto __ac_isdel(uint32_t* flag, T i)

#define __ac_isdel(flag, i) ((flag[i>>4]>>((i&0xfU)<<1))&1)

__ac_iseither
auto __ac_iseither(uint32_t* flag, T i)

#define __ac_iseither(flag, i) ((flag[i>>4]>>((i&0xfU)<<1))&3)

__ac_isempty
auto __ac_isempty(uint32_t* flag, T i)

#define __ac_isempty(flag, i) ((flag[i>>4]>>((i&0xfU)<<1))&2)

__ac_isempty
auto __ac_isempty(uint32_t* flag, T i)

#define __ac_isempty(flag, i) ((flag[i>>4]>>((i&0xfU)<<1))&2)

__ac_set_isboth_false
void __ac_set_isboth_false(uint32_t* flag, T i)

#define __ac_set_isboth_false(flag, i) (flag[i>>4]&=~(3ul<<((i&0xfU)<<1)))

__ac_set_isdel_false
void __ac_set_isdel_false(uint32_t* flag, T i)

#define __ac_set_isdel_false(flag, i) (flag[i>>4]&=~(1ul<<((i&0xfU)<<1)))

__ac_set_isdel_true
void __ac_set_isdel_true(uint32_t* flag, T i)

#define __ac_set_isdel_true(flag, i) (flag[i>>4]|=1ul<<((i&0xfU)<<1))

__ac_set_isempty_false
void __ac_set_isempty_false(uint32_t* flag, T i)

#define __ac_set_isempty_false(flag, i) (flag[i>>4]&=~(2ul<<((i&0xfU)<<1)))

del
void del(khint_t x)

remove the object at integer offset

Meta