Sux
Public Member Functions | Friends | List of all members
sux::function::DoubleEF< AT > Class Template Reference

#include <DoubleEF.hpp>

Public Member Functions

 DoubleEF ()
 
 DoubleEF (const std::vector< uint64_t > &cum_keys, const std::vector< uint64_t > &position)
 
void get (const uint64_t i, uint64_t &cum_keys, uint64_t &cum_keys_next, uint64_t &position)
 
void get (const uint64_t i, uint64_t &cum_keys, uint64_t &position)
 
uint64_t bitCountCumKeys ()
 
uint64_t bitCountPosition ()
 

Friends

std::ostream & operator<< (std::ostream &os, const DoubleEF< AT > &ef)
 
std::istream & operator>> (std::istream &is, DoubleEF< AT > &ef)
 

Detailed Description

template<util::AllocType AT = util::AllocType::MALLOC>
class sux::function::DoubleEF< AT >

A double Elias-Fano list.

This class exists solely to implement RecSplit.

Template Parameters
ATa type of memory allocation out of util::AllocType.

Constructor & Destructor Documentation

◆ DoubleEF() [1/2]

template<util::AllocType AT = util::AllocType::MALLOC>
sux::function::DoubleEF< AT >::DoubleEF ( )
inline

◆ DoubleEF() [2/2]

template<util::AllocType AT = util::AllocType::MALLOC>
sux::function::DoubleEF< AT >::DoubleEF ( const std::vector< uint64_t > &  cum_keys,
const std::vector< uint64_t > &  position 
)
inline

Member Function Documentation

◆ bitCountCumKeys()

template<util::AllocType AT = util::AllocType::MALLOC>
uint64_t sux::function::DoubleEF< AT >::bitCountCumKeys ( )
inline

◆ bitCountPosition()

template<util::AllocType AT = util::AllocType::MALLOC>
uint64_t sux::function::DoubleEF< AT >::bitCountPosition ( )
inline

◆ get() [1/2]

template<util::AllocType AT = util::AllocType::MALLOC>
void sux::function::DoubleEF< AT >::get ( const uint64_t  i,
uint64_t &  cum_keys,
uint64_t &  cum_keys_next,
uint64_t &  position 
)
inline

◆ get() [2/2]

template<util::AllocType AT = util::AllocType::MALLOC>
void sux::function::DoubleEF< AT >::get ( const uint64_t  i,
uint64_t &  cum_keys,
uint64_t &  position 
)
inline

Friends And Related Function Documentation

◆ operator<<

template<util::AllocType AT = util::AllocType::MALLOC>
std::ostream& operator<< ( std::ostream &  os,
const DoubleEF< AT > &  ef 
)
friend

◆ operator>>

template<util::AllocType AT = util::AllocType::MALLOC>
std::istream& operator>> ( std::istream &  is,
DoubleEF< AT > &  ef 
)
friend

The documentation for this class was generated from the following file: