SDSL 3.0.3
Succinct Data Structure Library
Loading...
Searching...
No Matches
sdsl::inv_multi_perm_support< t_s, t_rac, t_bv, t_rank > Class Template Reference

Class inv_multi_perm_support adds access to the inverse of permutations. More...

#include <wt_gmr.hpp>

Public Types

typedef t_rac iv_type
 
typedef iv_type::size_type size_type
 
typedef iv_type::value_type value_type
 
typedef iv_type::difference_type difference_type
 
typedef t_bv bit_vector_type
 
typedef t_rank rank_type
 
typedef random_access_const_iterator< inv_multi_perm_supportconst_iterator
 

Public Member Functions

 inv_multi_perm_support ()
 Default constructor.
 
 inv_multi_perm_support (iv_type const *perm, int_vector<> &iv, uint64_t chunksize)
 Constructor.
 
 inv_multi_perm_support (inv_multi_perm_support const &p)
 Copy constructor.
 
 inv_multi_perm_support (inv_multi_perm_support &&p)
 Move constructor.
 
inv_multi_perm_supportoperator= (inv_multi_perm_support const &p)
 Assignment operation.
 
inv_multi_perm_supportoperator= (inv_multi_perm_support &&p)
 Assignment move operation.
 
size_type size () const
 Returns the size of the original vector.
 
bool empty () const
 Returns whether the original vector contains no data.
 
value_type operator[] (size_type i) const
 Access operator.
 
const_iterator begin () const
 Returns a const_iterator to the first element.
 
const_iterator end () const
 Returns a const_iterator to the element after the last element.
 
void set_vector (iv_type const *v)
 
size_type serialize (std::ostream &out, structure_tree_node *v=nullptr, std::string name="") const
 Serialize into stream.
 
void load (std::istream &in, iv_type const *v=nullptr)
 Load sampling from disk.
 
template<typename archive_t >
void CEREAL_SAVE_FUNCTION_NAME (archive_t &ar) const
 Serialise (save) via cereal.
 
template<typename archive_t >
void CEREAL_LOAD_FUNCTION_NAME (archive_t &ar)
 Load via cereal.
 
bool operator== (inv_multi_perm_support const &other) const noexcept
 Equality operator.
 
bool operator!= (inv_multi_perm_support const &other) const noexcept
 Inequality operator.
 

Detailed Description

template<uint64_t t_s = 32, class t_rac = int_vector<>, class t_bv = bit_vector, class t_rank = typename t_bv::rank_1_type>
class sdsl::inv_multi_perm_support< t_s, t_rac, t_bv, t_rank >

Class inv_multi_perm_support adds access to the inverse of permutations.

Template Parameters
t_sSampling parameter of the inverse permutation.
t_racType of the random access container used for storing the permutation.
t_bvType of the bitvector used to indicate back-pointers.
t_rankType of rank_support to rank the indicator bitvector.

This support class adds access to the inverse of permutations in at most (t_s) steps.

References
[1] J. Munro, R. Raman, V. Raman, S. Rao: ,,Succinct representation of permutations'', Proceedings of ICALP 2003

Definition at line 54 of file wt_gmr.hpp.

Member Typedef Documentation

◆ bit_vector_type

template<uint64_t t_s = 32, class t_rac = int_vector<>, class t_bv = bit_vector, class t_rank = typename t_bv::rank_1_type>
typedef t_bv sdsl::inv_multi_perm_support< t_s, t_rac, t_bv, t_rank >::bit_vector_type

Definition at line 61 of file wt_gmr.hpp.

◆ const_iterator

template<uint64_t t_s = 32, class t_rac = int_vector<>, class t_bv = bit_vector, class t_rank = typename t_bv::rank_1_type>
typedef random_access_const_iterator<inv_multi_perm_support> sdsl::inv_multi_perm_support< t_s, t_rac, t_bv, t_rank >::const_iterator

Definition at line 63 of file wt_gmr.hpp.

◆ difference_type

template<uint64_t t_s = 32, class t_rac = int_vector<>, class t_bv = bit_vector, class t_rank = typename t_bv::rank_1_type>
typedef iv_type::difference_type sdsl::inv_multi_perm_support< t_s, t_rac, t_bv, t_rank >::difference_type

Definition at line 60 of file wt_gmr.hpp.

◆ iv_type

template<uint64_t t_s = 32, class t_rac = int_vector<>, class t_bv = bit_vector, class t_rank = typename t_bv::rank_1_type>
typedef t_rac sdsl::inv_multi_perm_support< t_s, t_rac, t_bv, t_rank >::iv_type

Definition at line 57 of file wt_gmr.hpp.

◆ rank_type

template<uint64_t t_s = 32, class t_rac = int_vector<>, class t_bv = bit_vector, class t_rank = typename t_bv::rank_1_type>
typedef t_rank sdsl::inv_multi_perm_support< t_s, t_rac, t_bv, t_rank >::rank_type

Definition at line 62 of file wt_gmr.hpp.

◆ size_type

template<uint64_t t_s = 32, class t_rac = int_vector<>, class t_bv = bit_vector, class t_rank = typename t_bv::rank_1_type>
typedef iv_type::size_type sdsl::inv_multi_perm_support< t_s, t_rac, t_bv, t_rank >::size_type

Definition at line 58 of file wt_gmr.hpp.

◆ value_type

template<uint64_t t_s = 32, class t_rac = int_vector<>, class t_bv = bit_vector, class t_rank = typename t_bv::rank_1_type>
typedef iv_type::value_type sdsl::inv_multi_perm_support< t_s, t_rac, t_bv, t_rank >::value_type

Definition at line 59 of file wt_gmr.hpp.

Constructor & Destructor Documentation

◆ inv_multi_perm_support() [1/4]

template<uint64_t t_s = 32, class t_rac = int_vector<>, class t_bv = bit_vector, class t_rank = typename t_bv::rank_1_type>
sdsl::inv_multi_perm_support< t_s, t_rac, t_bv, t_rank >::inv_multi_perm_support ( )
inline

Default constructor.

Definition at line 74 of file wt_gmr.hpp.

◆ inv_multi_perm_support() [2/4]

template<uint64_t t_s = 32, class t_rac = int_vector<>, class t_bv = bit_vector, class t_rank = typename t_bv::rank_1_type>
sdsl::inv_multi_perm_support< t_s, t_rac, t_bv, t_rank >::inv_multi_perm_support ( iv_type const * perm,
int_vector<> & iv,
uint64_t chunksize )
inline

Constructor.

Definition at line 77 of file wt_gmr.hpp.

◆ inv_multi_perm_support() [3/4]

template<uint64_t t_s = 32, class t_rac = int_vector<>, class t_bv = bit_vector, class t_rank = typename t_bv::rank_1_type>
sdsl::inv_multi_perm_support< t_s, t_rac, t_bv, t_rank >::inv_multi_perm_support ( inv_multi_perm_support< t_s, t_rac, t_bv, t_rank > const & p)
inline

Copy constructor.

Definition at line 160 of file wt_gmr.hpp.

◆ inv_multi_perm_support() [4/4]

template<uint64_t t_s = 32, class t_rac = int_vector<>, class t_bv = bit_vector, class t_rank = typename t_bv::rank_1_type>
sdsl::inv_multi_perm_support< t_s, t_rac, t_bv, t_rank >::inv_multi_perm_support ( inv_multi_perm_support< t_s, t_rac, t_bv, t_rank > && p)
inline

Move constructor.

Definition at line 171 of file wt_gmr.hpp.

Member Function Documentation

◆ begin()

template<uint64_t t_s = 32, class t_rac = int_vector<>, class t_bv = bit_vector, class t_rank = typename t_bv::rank_1_type>
const_iterator sdsl::inv_multi_perm_support< t_s, t_rac, t_bv, t_rank >::begin ( ) const
inline

Returns a const_iterator to the first element.

Definition at line 244 of file wt_gmr.hpp.

◆ CEREAL_LOAD_FUNCTION_NAME()

template<uint64_t t_s = 32, class t_rac = int_vector<>, class t_bv = bit_vector, class t_rank = typename t_bv::rank_1_type>
template<typename archive_t >
void sdsl::inv_multi_perm_support< t_s, t_rac, t_bv, t_rank >::CEREAL_LOAD_FUNCTION_NAME ( archive_t & ar)
inline

Load via cereal.

Definition at line 295 of file wt_gmr.hpp.

◆ CEREAL_SAVE_FUNCTION_NAME()

template<uint64_t t_s = 32, class t_rac = int_vector<>, class t_bv = bit_vector, class t_rank = typename t_bv::rank_1_type>
template<typename archive_t >
void sdsl::inv_multi_perm_support< t_s, t_rac, t_bv, t_rank >::CEREAL_SAVE_FUNCTION_NAME ( archive_t & ar) const
inline

Serialise (save) via cereal.

Definition at line 285 of file wt_gmr.hpp.

◆ empty()

template<uint64_t t_s = 32, class t_rac = int_vector<>, class t_bv = bit_vector, class t_rank = typename t_bv::rank_1_type>
bool sdsl::inv_multi_perm_support< t_s, t_rac, t_bv, t_rank >::empty ( ) const
inline

Returns whether the original vector contains no data.

Definition at line 213 of file wt_gmr.hpp.

◆ end()

template<uint64_t t_s = 32, class t_rac = int_vector<>, class t_bv = bit_vector, class t_rank = typename t_bv::rank_1_type>
const_iterator sdsl::inv_multi_perm_support< t_s, t_rac, t_bv, t_rank >::end ( ) const
inline

Returns a const_iterator to the element after the last element.

Definition at line 250 of file wt_gmr.hpp.

◆ load()

template<uint64_t t_s = 32, class t_rac = int_vector<>, class t_bv = bit_vector, class t_rank = typename t_bv::rank_1_type>
void sdsl::inv_multi_perm_support< t_s, t_rac, t_bv, t_rank >::load ( std::istream & in,
iv_type const * v = nullptr )
inline

Load sampling from disk.

Definition at line 274 of file wt_gmr.hpp.

◆ operator!=()

template<uint64_t t_s = 32, class t_rac = int_vector<>, class t_bv = bit_vector, class t_rank = typename t_bv::rank_1_type>
bool sdsl::inv_multi_perm_support< t_s, t_rac, t_bv, t_rank >::operator!= ( inv_multi_perm_support< t_s, t_rac, t_bv, t_rank > const & other) const
inlinenoexcept

Inequality operator.

Definition at line 312 of file wt_gmr.hpp.

◆ operator=() [1/2]

template<uint64_t t_s = 32, class t_rac = int_vector<>, class t_bv = bit_vector, class t_rank = typename t_bv::rank_1_type>
inv_multi_perm_support & sdsl::inv_multi_perm_support< t_s, t_rac, t_bv, t_rank >::operator= ( inv_multi_perm_support< t_s, t_rac, t_bv, t_rank > && p)
inline

Assignment move operation.

Definition at line 192 of file wt_gmr.hpp.

◆ operator=() [2/2]

template<uint64_t t_s = 32, class t_rac = int_vector<>, class t_bv = bit_vector, class t_rank = typename t_bv::rank_1_type>
inv_multi_perm_support & sdsl::inv_multi_perm_support< t_s, t_rac, t_bv, t_rank >::operator= ( inv_multi_perm_support< t_s, t_rac, t_bv, t_rank > const & p)
inline

Assignment operation.

Definition at line 177 of file wt_gmr.hpp.

◆ operator==()

template<uint64_t t_s = 32, class t_rac = int_vector<>, class t_bv = bit_vector, class t_rank = typename t_bv::rank_1_type>
bool sdsl::inv_multi_perm_support< t_s, t_rac, t_bv, t_rank >::operator== ( inv_multi_perm_support< t_s, t_rac, t_bv, t_rank > const & other) const
inlinenoexcept

Equality operator.

Definition at line 305 of file wt_gmr.hpp.

◆ operator[]()

template<uint64_t t_s = 32, class t_rac = int_vector<>, class t_bv = bit_vector, class t_rank = typename t_bv::rank_1_type>
value_type sdsl::inv_multi_perm_support< t_s, t_rac, t_bv, t_rank >::operator[] ( size_type i) const
inline

Access operator.

Definition at line 223 of file wt_gmr.hpp.

◆ serialize()

template<uint64_t t_s = 32, class t_rac = int_vector<>, class t_bv = bit_vector, class t_rank = typename t_bv::rank_1_type>
size_type sdsl::inv_multi_perm_support< t_s, t_rac, t_bv, t_rank >::serialize ( std::ostream & out,
structure_tree_node * v = nullptr,
std::string name = "" ) const
inline

Serialize into stream.

Definition at line 261 of file wt_gmr.hpp.

◆ set_vector()

template<uint64_t t_s = 32, class t_rac = int_vector<>, class t_bv = bit_vector, class t_rank = typename t_bv::rank_1_type>
void sdsl::inv_multi_perm_support< t_s, t_rac, t_bv, t_rank >::set_vector ( iv_type const * v)
inline

Definition at line 255 of file wt_gmr.hpp.

◆ size()

template<uint64_t t_s = 32, class t_rac = int_vector<>, class t_bv = bit_vector, class t_rank = typename t_bv::rank_1_type>
size_type sdsl::inv_multi_perm_support< t_s, t_rac, t_bv, t_rank >::size ( ) const
inline

Returns the size of the original vector.

Definition at line 207 of file wt_gmr.hpp.


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