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 StringSet & active () const
 return currently active array More...
 
const StringSet & shadow () 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...
 
LcpType * lcp () 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_
 
LcpType * lcp_
 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: