Speclib  0.1.2
The library for writing better CUDA libraries
sp::c::SmallIntSet< KeyType, KeyBits > Class Template Reference

An integer set that's optimized for small values. More...

#include <IntSet.hpp>

Public Types

using const_iterator = iterator
 

Public Member Functions

constexpr bool operator== (const SmallIntSet &other) const
 
constexpr SmallIntSetoperator|= (const SmallIntSet &other)
 
constexpr SmallIntSetoperator&= (const SmallIntSet &other)
 
constexpr SmallIntSetoperator-= (const SmallIntSet &other)
 
constexpr const_iterator begin () const
 
constexpr const_iterator end () const
 
constexpr const_iterator lower_bound (KeyType i) const
 
constexpr const_iterator upper_bound (KeyType i) const
 
constexpr bool empty () const
 
constexpr uint64_t size () const
 
constexpr int count (KeyType i) const
 
constexpr void insert (KeyType i)
 
constexpr void erase (KeyType i)
 

Static Protected Attributes

static constexpr bool UseInsertIntersection = false
 

Detailed Description

template<typename KeyType = int, int KeyBits = sizeof(KeyType) * 8>
class sp::c::SmallIntSet< KeyType, KeyBits >

An integer set that's optimized for small values.

Use via sp::c::IntSet.