Struct succinct::BinSearchSelect [] [src]

pub struct BinSearchSelect<'a, Rank: 'a> {
    // some fields omitted
}

Performs a select query by binary searching rank queries.

Methods

impl<'a, Rank: RankSupport + 'a> BinSearchSelect<'a, Rank>
[src]

Creates a new binary search select support based on a rank support.

fn new(rank_support: &'a Rank) -> Self

Creates a new binary search selection support given a rank support.

fn inner(&self) -> &'a Rank

Borrows a reference to the underlying rank support.

Trait Implementations

impl<'a, Rank: Bits + 'a> Bits for BinSearchSelect<'a, Rank>
[src]

type Block = Rank::Block

The underlying block type used to store the bits of the slice.

fn block_len(&self) -> usize

The length of the slice in blocks.

fn bit_len(&self) -> u64

The length of the slice in bits.

fn get_block(&self, index: usize) -> Self::Block

Gets the block at position Read more

fn get_bit(&self, index: u64) -> bool

Gets the bit at position Read more

fn get_bits(&self, start: u64, count: usize) -> Self::Block

Gets count bits starting at bit index start, interpreted as a little-endian integer. Read more

impl<'a, Rank: RankSupport + 'a> RankSupport for BinSearchSelect<'a, Rank>
[src]

type Over = Rank::Over

The type of value to rank.

fn rank(&self, index: u64, value: Self::Over) -> u64

Returns the rank of the given value at a given position. Read more

fn limit(&self) -> u64

The size of the vector being ranked. Read more

impl<'a, Rank: BitRankSupport + 'a> BitRankSupport for BinSearchSelect<'a, Rank>
[src]

fn rank1(&self, index: u64) -> u64

Returns the rank of 1 at the given position. Read more

fn rank0(&self, position: u64) -> u64

Returns the rank of 0 at the given position. Read more

impl<'a, Rank: BitRankSupport + 'a> SelectSupport1 for BinSearchSelect<'a, Rank>
[src]

fn select1(&self, index: u64) -> Option<u64>

Returns the position of the indexth 1 bit.

impl<'a, Rank: BitRankSupport + 'a> SelectSupport0 for BinSearchSelect<'a, Rank>
[src]

fn select0(&self, index: u64) -> Option<u64>

Returns the position of the indexth 0 bit.

impl<'a, Rank: RankSupport + 'a> SelectSupport for BinSearchSelect<'a, Rank>
[src]

type Over = Rank::Over

The type of value that we can search for.

fn select(&self, index: u64, value: Rank::Over) -> Option<u64>

Returns the position of the indexth occurrence of value.

impl<'a, Rank: BitRankSupport + 'a> SpaceUsage for BinSearchSelect<'a, Rank>
[src]

fn is_stack_only() -> bool

Is the size of this type known statically? Read more

fn total_bytes(&self) -> usize

Computes the size of the receiver in bytes. Read more

fn stack_bytes() -> usize

Calculates the stack portion of the size of this type. Read more

fn heap_bytes(&self) -> usize

Calculates the heap portion of the size of an object. Read more