SDSL 3.0.3
Succinct Data Structure Library
|
Class inv_perm_support adds access to the inverse of a permutation. More...
#include <inv_perm_support.hpp>
Public Types | |
typedef int_vector | iv_type |
typedef iv_type::size_type | size_type |
typedef iv_type::value_type | value_type |
typedef iv_type::difference_type | difference_type |
typedef random_access_const_iterator< inv_perm_support > | const_iterator |
typedef t_bv | bit_vector_type |
typedef t_rank | rank_type |
Public Member Functions | |
inv_perm_support () | |
inv_perm_support (inv_perm_support const &p) | |
inv_perm_support (inv_perm_support &&p) | |
inv_perm_support (iv_type const *v) | |
Constructor. | |
value_type | operator[] (size_type i) const |
Access operator. | |
size_type | size () const |
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) |
inv_perm_support & | operator= (inv_perm_support const &p) |
Assignment operation. | |
inv_perm_support & | operator= (inv_perm_support &&p) |
Assignment move operation. | |
size_type | serialize (std::ostream &out, structure_tree_node *v=nullptr, std::string name="") const |
Serialize into stream. | |
void | load (std::istream &in) |
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_perm_support const &other) const noexcept |
Equality operator. | |
bool | operator!= (inv_perm_support const &other) const noexcept |
Inequality operator. | |
Class inv_perm_support adds access to the inverse of a permutation.
t_s | Sampling parameter of the inverse permutation. |
t_bv | Type of the bitvector used to indicate back-pointers. |
t_rank | Type of rank_support to rank the indicator bitvector. |
This support class adds access to the inverse of a permutation in at most (t_s) steps. It takes about (1/t_s \log n) space, where (n) is the size of the supported permutation.
Definition at line 43 of file inv_perm_support.hpp.
t_bv sdsl::inv_perm_support< t_s, t_bv, t_rank >::bit_vector_type |
Definition at line 51 of file inv_perm_support.hpp.
random_access_const_iterator<inv_perm_support> sdsl::inv_perm_support< t_s, t_bv, t_rank >::const_iterator |
Definition at line 50 of file inv_perm_support.hpp.
iv_type::difference_type sdsl::inv_perm_support< t_s, t_bv, t_rank >::difference_type |
Definition at line 49 of file inv_perm_support.hpp.
int_vector sdsl::inv_perm_support< t_s, t_bv, t_rank >::iv_type |
Definition at line 46 of file inv_perm_support.hpp.
t_rank sdsl::inv_perm_support< t_s, t_bv, t_rank >::rank_type |
Definition at line 52 of file inv_perm_support.hpp.
iv_type::size_type sdsl::inv_perm_support< t_s, t_bv, t_rank >::size_type |
Definition at line 47 of file inv_perm_support.hpp.
iv_type::value_type sdsl::inv_perm_support< t_s, t_bv, t_rank >::value_type |
Definition at line 48 of file inv_perm_support.hpp.
|
inline |
Definition at line 61 of file inv_perm_support.hpp.
|
inline |
Definition at line 63 of file inv_perm_support.hpp.
|
inline |
Definition at line 72 of file inv_perm_support.hpp.
|
inline |
Constructor.
Definition at line 78 of file inv_perm_support.hpp.
|
inline |
Returns a const_iterator to the first element.
Definition at line 174 of file inv_perm_support.hpp.
|
inline |
Load via cereal.
Definition at line 246 of file inv_perm_support.hpp.
|
inline |
Serialise (save) via cereal.
Definition at line 237 of file inv_perm_support.hpp.
|
inline |
Returns a const_iterator to the element after the last element.
Definition at line 180 of file inv_perm_support.hpp.
|
inline |
Load sampling from disk.
Definition at line 228 of file inv_perm_support.hpp.
|
inlinenoexcept |
Inequality operator.
Definition at line 262 of file inv_perm_support.hpp.
|
inline |
Assignment move operation.
Definition at line 202 of file inv_perm_support.hpp.
|
inline |
Assignment operation.
Definition at line 191 of file inv_perm_support.hpp.
|
inlinenoexcept |
Equality operator.
Definition at line 255 of file inv_perm_support.hpp.
|
inline |
Access operator.
Definition at line 149 of file inv_perm_support.hpp.
|
inline |
Serialize into stream.
Definition at line 216 of file inv_perm_support.hpp.
|
inline |
Definition at line 185 of file inv_perm_support.hpp.
|
inline |
Definition at line 168 of file inv_perm_support.hpp.