SDSL 3.0.2
Succinct Data Structure Library
Loading...
Searching...
No Matches
wt_algorithm.hpp File Reference
#include <array>
#include <assert.h>
#include <cstdint>
#include <iterator>
#include <numeric>
#include <stack>
#include <tuple>
#include <type_traits>
#include <utility>
#include <vector>
#include <sdsl/bits.hpp>
#include <sdsl/wt_helper.hpp>

Go to the source code of this file.

Classes

struct  sdsl::has_interval_symbols< t_wt >
 
struct  sdsl::_interval_symbols_wt< t_wt, t_has_interval_symbols >
 
struct  sdsl::_interval_symbols_wt< t_wt, false >
 
struct  sdsl::has_expand< typename, T >
 
struct  sdsl::has_expand< t_wt, t_ret(t_args...)>
 
struct  sdsl::has_range_search_2d< t_wt >
 
struct  sdsl::_symbols_calls_wt< t_wt, t_has_interval_symbols >
 
struct  sdsl::_symbols_calls_wt< t_wt, false >
 
struct  sdsl::has_symbols_wt< t_wt >
 
struct  sdsl::void_< T >
 
struct  sdsl::has_node_type< t_wt, T >
 
struct  sdsl::has_node_type< t_wt, typename void_< typename t_wt::node_type >::type >
 

Namespaces

namespace  sdsl
 Namespace for the succinct data structure library.
 

Functions

template<class t_wt >
std::vector< std::pair< typename t_wt::value_type, typename t_wt::size_type > > sdsl::intersect (t_wt const &wt, std::vector< range_type > const &ranges, typename t_wt::size_type t=0)
 Intersection of elements in WT[s_0,e_0], WT[s_1,e_1],...,WT[s_k,e_k].
 
template<class t_wt >
std::pair< typename t_wt::value_type, typename t_wt::size_type > sdsl::quantile_freq (t_wt const &wt, typename t_wt::size_type lb, typename t_wt::size_type rb, typename t_wt::size_type q)
 Returns the q-th smallest element and its frequency in wt[lb..rb].
 
template<class t_wt >
void sdsl::_interval_symbols_rec (t_wt const &wt, range_type r, typename t_wt::size_type &k, std::vector< typename t_wt::value_type > &cs, std::vector< typename t_wt::size_type > &rank_c_i, std::vector< typename t_wt::size_type > &rank_c_j, const typename t_wt::node_type &v)
 
template<class t_wt >
void sdsl::_interval_symbols (t_wt const &wt, typename t_wt::size_type i, typename t_wt::size_type j, typename t_wt::size_type &k, std::vector< typename t_wt::value_type > &cs, std::vector< typename t_wt::size_type > &rank_c_i, std::vector< typename t_wt::size_type > &rank_c_j)
 
template<class t_wt >
void sdsl::interval_symbols (t_wt const &wt, typename t_wt::size_type i, typename t_wt::size_type j, typename t_wt::size_type &k, std::vector< typename t_wt::value_type > &cs, std::vector< typename t_wt::size_type > &rank_c_i, std::vector< typename t_wt::size_type > &rank_c_j)
 For each symbol c in wt[i..j-1] get rank(i,c) and rank(j,c).
 
template<class t_wt >
std::pair< bool, typename t_wt::value_type > sdsl::_symbol_lte (t_wt const &wt, typename t_wt::value_type c)
 Returns for a symbol c the previous smaller or equal symbol in the WT.
 
template<class t_wt >
std::pair< bool, typename t_wt::value_type > sdsl::_symbol_gte (t_wt const &wt, typename t_wt::value_type c)
 Returns for a symbol c the next larger or equal symbol in the WT.
 
template<class t_wt >
std::pair< bool, typename t_wt::value_type > sdsl::symbol_lte (t_wt const &wt, typename t_wt::value_type c)
 Returns for a symbol c the previous smaller or equal symbol in the WT.
 
template<class t_wt >
std::pair< bool, typename t_wt::value_type > sdsl::symbol_gte (t_wt const &wt, typename t_wt::value_type c)
 Returns for a symbol c the next larger or equal symbol in the WT.
 
template<class t_wt >
std::vector< typename t_wt::value_type > sdsl::restricted_unique_range_values (t_wt const &wt, typename t_wt::size_type x_i, typename t_wt::size_type x_j, typename t_wt::value_type y_i, typename t_wt::value_type y_j)
 Returns for a x range [x_i,x_j] and a value range [y_i,y_j] all unique y values occuring in [x_i,x_j] in ascending order.