Thrill  0.1
StringShadowPtr< StringSet_ > Class Template Reference

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 37 of file string_ptr.hpp.

#include <string_ptr.hpp>

Public Types

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

Public Member Functions

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

Static Public Attributes

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

Protected Attributes

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

Member Typedef Documentation

◆ Iterator

typedef StringSet::Iterator Iterator

Definition at line 173 of file string_ptr.hpp.

◆ String

typedef StringSet::String String

Definition at line 172 of file string_ptr.hpp.

◆ StringSet

typedef StringSet_ StringSet

Definition at line 171 of file string_ptr.hpp.

Constructor & Destructor Documentation

◆ StringShadowPtr()

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()

◆ copy_back()

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.

Referenced by RadixStep_CE0< StringShadowPtr >::RadixStep_CE0(), RadixStep_CE2< StringShadowPtr >::RadixStep_CE2(), and RadixStep_CE3< StringShadowPtr >::RadixStep_CE3().

◆ fill_lcp()

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()

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.

References StringPtr< StringSet_ >::size().

Referenced by RadixStep_CE0< StringShadowPtr >::RadixStep_CE0(), RadixStep_CE2< StringShadowPtr >::RadixStep_CE2(), and RadixStep_CE3< StringShadowPtr >::RadixStep_CE3().

◆ flipped()

bool flipped ( ) const
inline

true if flipped to back array

Definition at line 195 of file string_ptr.hpp.

◆ set_lcp()

void set_lcp ( size_t  ,
const LcpType &   
) const
inline

◆ shadow()

◆ size()

size_t size ( ) const
inline

◆ sub()

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.

References StringPtr< StringSet_ >::size().

Member Data Documentation

◆ active_

StringSet active_
protected

strings (front) and temporary shadow (back) array

Definition at line 177 of file string_ptr.hpp.

◆ flipped_

bool flipped_
protected

false if active_ is original, true if shadow_ is original

Definition at line 180 of file string_ptr.hpp.

◆ shadow_

StringSet shadow_
protected

Definition at line 177 of file string_ptr.hpp.

◆ with_lcp

const bool with_lcp = false
static

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