tlx
StringShadowLcpPtr< StringSet_, LcpType_ > 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 LcpType_ LcpType
 
typedef StringSet::String String
 
typedef StringSet::Iterator Iterator
 

Public Member Functions

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

Static Public Attributes

static const bool with_lcp
 if we want to save the LCPs More...
 

Protected Attributes

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

Detailed Description

template<typename StringSet_, typename LcpType_>
class tlx::sort_strings_detail::StringShadowLcpPtr< StringSet_, LcpType_ >

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

Definition at line 40 of file string_ptr.hpp.

Member Typedef Documentation

typedef StringSet::Iterator Iterator

Definition at line 253 of file string_ptr.hpp.

typedef LcpType_ LcpType

Definition at line 251 of file string_ptr.hpp.

typedef StringSet::String String

Definition at line 252 of file string_ptr.hpp.

typedef StringSet_ StringSet

Definition at line 250 of file string_ptr.hpp.

Constructor & Destructor Documentation

StringShadowLcpPtr ( const StringSet original,
const StringSet shadow,
LcpType lcp,
bool  flipped = false 
)
inline

constructor specifying all attributes

Definition at line 267 of file string_ptr.hpp.

Member Function Documentation

const StringSet& active ( ) const
inline

return currently active array

Definition at line 272 of file string_ptr.hpp.

StringShadowLcpPtr copy_back ( ) const
inline

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

Definition at line 302 of file string_ptr.hpp.

void fill_lcp ( const LcpType v) const
inline

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

Definition at line 333 of file string_ptr.hpp.

StringShadowLcpPtr flip ( size_t  offset,
size_t  sub_size 
) const
inline

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

Definition at line 293 of file string_ptr.hpp.

bool flipped ( ) const
inline

true if flipped to back array

Definition at line 278 of file string_ptr.hpp.

LcpType get_lcp ( size_t  i) const
inline

return LCP array value

Definition at line 321 of file string_ptr.hpp.

LcpType* lcp ( ) const
inline

return LCP array pointer

Definition at line 316 of file string_ptr.hpp.

void set_lcp ( size_t  i,
const LcpType v 
) const
inline

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

Definition at line 327 of file string_ptr.hpp.

const StringSet& shadow ( ) const
inline

return current shadow array

Definition at line 275 of file string_ptr.hpp.

size_t size ( ) const
inline

return valid length

Definition at line 281 of file string_ptr.hpp.

StringShadowLcpPtr sub ( size_t  offset,
size_t  sub_size 
) const
inline

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

Definition at line 284 of file string_ptr.hpp.

Member Data Documentation

StringSet active_
protected

strings (front) and temporary shadow (back) array

Definition at line 257 of file string_ptr.hpp.

bool flipped_
protected

false if active_ is original, true if shadow_ is original

Definition at line 263 of file string_ptr.hpp.

LcpType* lcp_
protected

lcp array

Definition at line 260 of file string_ptr.hpp.

StringSet shadow_
protected

Definition at line 257 of file string_ptr.hpp.

const bool with_lcp
static

if we want to save the LCPs

Definition at line 313 of file string_ptr.hpp.


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