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

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

#include <IntSet.hpp>

Public Types

using const_iterator = iterator
 

Public Member Functions

constexpr bool operator== (const BigIntSet &other) const
 
constexpr BigIntSetoperator|= (const BigIntSet &other)
 
constexpr BigIntSetoperator&= (const BigIntSet &other)
 
constexpr BigIntSetoperator-= (const BigIntSet &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)
 

Protected Member Functions

constexpr void insertIntersection (const BigIntSet &lhs, const BigIntSet &rhs)
 

Static Protected Attributes

static constexpr bool UseInsertIntersection = true
 

Detailed Description

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

An integer set that's optimized for large values.

Use via sp::c::IntSet.