tlx
string_set.hpp File Reference
#include <cassert>
#include <cstdint>
#include <memory>
#include <string>
#include <utility>
#include <vector>
#include <tlx/logger/core.hpp>
#include <tlx/math/bswap.hpp>
#include <tlx/meta/enable_if.hpp>

Go to the source code of this file.

Classes

class  StringSetBase< StringSet, Traits >
 Base class for common string set functions, included via CRTP. More...
 
class  GenericCharStringSetTraits< CharType >
 Traits class implementing StringSet concept for char* and unsigned char* strings. More...
 
class  GenericCharStringSet< CharType >
 Class implementing StringSet concept for char* and unsigned char* strings. More...
 
class  StdStringSetTraits
 Class implementing StringSet concept for a std::string objects. More...
 
class  StdStringSet
 Class implementing StringSet concept for arrays of std::string objects. More...
 
class  UPtrStdStringSetTraits
 Class implementing StringSet concept for a std::unique_ptr<std::string objects, which are non-copyable. More...
 
class  UPtrStdStringSet
 Class implementing StringSet concept for a std::vector containing std::string objects. More...
 
class  StringSuffixSetTraits
 Class implementing StringSet concept for suffix sorting indexes of a std::string text object. More...
 
class  StringSuffixSet
 Class implementing StringSet concept for suffix sorting indexes of a std::string text object. More...
 

Namespaces

 tlx
 
 tlx::sort_strings_detail
 

Typedefs

typedef GenericCharStringSet< char > CharStringSet
 
typedef GenericCharStringSet< unsigned char > UCharStringSet
 
typedef GenericCharStringSet< const char > CCharStringSet
 
typedef GenericCharStringSet< const unsigned char > CUCharStringSet
 

Functions

template<typename Type , typename StringSet >
enable_if< sizeof(Type)==4, uint32_t >::type get_key (const StringSet &strset, const typename StringSet::String &s, size_t depth)
 
template<typename Type , typename StringSet >
enable_if< sizeof(Type)==8, uint64_t >::type get_key (const StringSet &strset, const typename StringSet::String &s, size_t depth)
 
template<typename Type , typename StringSet >
Type get_key_at (const StringSet &strset, size_t idx, size_t depth)