tlx
Loading...
Searching...
No Matches
StringShadowPtr< StringSet_ > Class Template Reference

Objectified string array pointer and shadow pointer array for out-of-place swapping of pointers. More...

#include <string_ptr.hpp>

Public Types

typedef StringSet_ StringSet
 
typedef StringSet::String String
 
typedef StringSet::Iterator Iterator
 

Public Member Functions

 StringShadowPtr (const StringSet &original, const StringSet &shadow, bool flipped=false)
 constructor specifying all attributes
 
const StringSet & active () const
 return currently active array
 
const StringSet & shadow () const
 return current shadow array
 
bool flipped () const
 true if flipped to back array
 
size_t size () const
 return valid length
 
StringShadowPtr sub (size_t offset, size_t sub_size) const
 Advance (both) pointers by given offset, return sub-array without flip.
 
StringShadowPtr flip (size_t offset, size_t sub_size) const
 construct a StringShadowPtr object specifying a sub-array with flipping to other array.
 
StringShadowPtr copy_back () const
 return subarray pointer to n strings in original array, might copy from shadow before returning.
 
template<typename LcpType >
void set_lcp (size_t, const LcpType &) const
 set the i-th lcp to v and check its value
 
template<typename LcpType >
void fill_lcp (const LcpType &) const
 fill entire LCP array with v, excluding the first lcp[0] position!
 

Static Public Attributes

static const bool with_lcp
 if we want to save the LCPs
 

Protected Attributes

StringSet active_
 strings (front) and temporary shadow (back) array
 
StringSet shadow_
 
bool flipped_
 false if active_ is original, true if shadow_ is original
 

Detailed Description

template<typename StringSet_>
class tlx::sort_strings_detail::StringShadowPtr< StringSet_ >

Objectified string array pointer and shadow pointer array for out-of-place swapping of pointers.

Definition at line 168 of file string_ptr.hpp.

Member Typedef Documentation

◆ Iterator

template<typename StringSet_ >
typedef StringSet::Iterator Iterator

Definition at line 173 of file string_ptr.hpp.

◆ String

template<typename StringSet_ >
typedef StringSet::String String

Definition at line 172 of file string_ptr.hpp.

◆ StringSet

template<typename StringSet_ >
typedef StringSet_ StringSet

Definition at line 171 of file string_ptr.hpp.

Constructor & Destructor Documentation

◆ StringShadowPtr()

template<typename StringSet_ >
StringShadowPtr ( const StringSet & original,
const StringSet & shadow,
bool flipped = false )
inline

constructor specifying all attributes

Definition at line 184 of file string_ptr.hpp.

Member Function Documentation

◆ active()

template<typename StringSet_ >
const StringSet & active ( ) const
inline

return currently active array

Definition at line 189 of file string_ptr.hpp.

◆ copy_back()

template<typename StringSet_ >
StringShadowPtr copy_back ( ) const
inline

return subarray pointer to n strings in original array, might copy from shadow before returning.

Definition at line 219 of file string_ptr.hpp.

◆ fill_lcp()

template<typename StringSet_ >
template<typename LcpType >
void fill_lcp ( const LcpType & ) const
inline

fill entire LCP array with v, excluding the first lcp[0] position!

Definition at line 238 of file string_ptr.hpp.

◆ flip()

template<typename StringSet_ >
StringShadowPtr flip ( size_t offset,
size_t sub_size ) const
inline

construct a StringShadowPtr object specifying a sub-array with flipping to other array.

Definition at line 210 of file string_ptr.hpp.

◆ flipped()

template<typename StringSet_ >
bool flipped ( ) const
inline

true if flipped to back array

Definition at line 195 of file string_ptr.hpp.

◆ set_lcp()

template<typename StringSet_ >
template<typename LcpType >
void set_lcp ( size_t ,
const LcpType &  ) const
inline

set the i-th lcp to v and check its value

Definition at line 234 of file string_ptr.hpp.

◆ shadow()

template<typename StringSet_ >
const StringSet & shadow ( ) const
inline

return current shadow array

Definition at line 192 of file string_ptr.hpp.

◆ size()

template<typename StringSet_ >
size_t size ( ) const
inline

return valid length

Definition at line 198 of file string_ptr.hpp.

◆ sub()

template<typename StringSet_ >
StringShadowPtr sub ( size_t offset,
size_t sub_size ) const
inline

Advance (both) pointers by given offset, return sub-array without flip.

Definition at line 201 of file string_ptr.hpp.

Member Data Documentation

◆ active_

template<typename StringSet_ >
StringSet active_
protected

strings (front) and temporary shadow (back) array

Definition at line 177 of file string_ptr.hpp.

◆ flipped_

template<typename StringSet_ >
bool flipped_
protected

false if active_ is original, true if shadow_ is original

Definition at line 180 of file string_ptr.hpp.

◆ shadow_

template<typename StringSet_ >
StringSet shadow_
protected

Definition at line 177 of file string_ptr.hpp.

◆ with_lcp

template<typename StringSet_ >
const bool with_lcp
static

if we want to save the LCPs

Definition at line 230 of file string_ptr.hpp.


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