SDSL 3.0.1
Succinct Data Structure Library
wt_algorithm.hpp File Reference
#include <algorithm>
#include <utility>
#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 (const t_wt &wt, const std::vector< range_type > &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]. More...
 
template<class t_wt >
std::pair< typename t_wt::value_type, typename t_wt::size_type > sdsl::quantile_freq (const t_wt &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]. More...
 
template<class t_wt >
void sdsl::_interval_symbols_rec (const t_wt &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 (const t_wt &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 (const t_wt &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). More...
 
template<class t_wt >
std::pair< bool, typename t_wt::value_type > sdsl::_symbol_lte (const t_wt &wt, typename t_wt::value_type c)
 Returns for a symbol c the previous smaller or equal symbol in the WT. More...
 
template<class t_wt >
std::pair< bool, typename t_wt::value_type > sdsl::_symbol_gte (const t_wt &wt, typename t_wt::value_type c)
 Returns for a symbol c the next larger or equal symbol in the WT. More...
 
template<class t_wt >
std::pair< bool, typename t_wt::value_type > sdsl::symbol_lte (const t_wt &wt, typename t_wt::value_type c)
 Returns for a symbol c the previous smaller or equal symbol in the WT. More...
 
template<class t_wt >
std::pair< bool, typename t_wt::value_type > sdsl::symbol_gte (const t_wt &wt, typename t_wt::value_type c)
 Returns for a symbol c the next larger or equal symbol in the WT. More...
 
template<class t_wt >
std::vector< typename t_wt::value_type > sdsl::restricted_unique_range_values (const t_wt &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. More...