NAMD
Public Member Functions | Public Attributes | List of all members
TupleString< NumStrings > Class Template Reference

#include <TupleString.h>

Public Member Functions

 TupleString ()
 
 TupleString (const char *key1)
 
 TupleString (const char *key1, const char *key2)
 
 TupleString (const char *key1, const char *key2, const char *key3)
 
 TupleString (const char *key1, const char *key2, const char *key3, const char *key4)
 
 TupleString (const char *key1, const char *key2, const char *key3, const char *key4, const char *key5, const char *key6, const char *key7, const char *key8)
 
void makeHash ()
 
bool operator== (const TupleString &rhs) const
 
bool operator< (const TupleString &rhs) const
 
const uint64_t getHashKey () const
 
const char * getCatKey () const
 
char * getTuplePtr (short index)
 

Public Attributes

MultiString< NumStrings > tupleCat
 

Detailed Description

template<short NumStrings>
class TupleString< NumStrings >

Definition at line 164 of file TupleString.h.

Constructor & Destructor Documentation

◆ TupleString() [1/6]

template<short NumStrings>
TupleString< NumStrings >::TupleString ( )
inline

Definition at line 168 of file TupleString.h.

169  {}

◆ TupleString() [2/6]

template<short NumStrings>
TupleString< NumStrings >::TupleString ( const char *  key1)
inline

Definition at line 170 of file TupleString.h.

171  {
173  tupleCat.upcase();
174  makeHash();
175  }
void makeHash()
Definition: TupleString.h:209
MultiString< NumStrings > tupleCat
Definition: TupleString.h:167

◆ TupleString() [3/6]

template<short NumStrings>
TupleString< NumStrings >::TupleString ( const char *  key1,
const char *  key2 
)
inline

Definition at line 177 of file TupleString.h.

178  {
179  tupleCat = MultiString <NumStrings>(key1, key2);
180  tupleCat.upcase();
181  makeHash();
182  }
void makeHash()
Definition: TupleString.h:209
MultiString< NumStrings > tupleCat
Definition: TupleString.h:167

◆ TupleString() [4/6]

template<short NumStrings>
TupleString< NumStrings >::TupleString ( const char *  key1,
const char *  key2,
const char *  key3 
)
inline

Definition at line 184 of file TupleString.h.

185  {
186  tupleCat = MultiString <NumStrings>(key1, key2, key3);
187  tupleCat.upcase();
188  makeHash();
189  }
void makeHash()
Definition: TupleString.h:209
MultiString< NumStrings > tupleCat
Definition: TupleString.h:167

◆ TupleString() [5/6]

template<short NumStrings>
TupleString< NumStrings >::TupleString ( const char *  key1,
const char *  key2,
const char *  key3,
const char *  key4 
)
inline

Definition at line 191 of file TupleString.h.

193  {
194  tupleCat = MultiString <NumStrings>(key1, key2, key3, key4);
195  tupleCat.upcase();
196  makeHash();
197  }
void makeHash()
Definition: TupleString.h:209
MultiString< NumStrings > tupleCat
Definition: TupleString.h:167

◆ TupleString() [6/6]

template<short NumStrings>
TupleString< NumStrings >::TupleString ( const char *  key1,
const char *  key2,
const char *  key3,
const char *  key4,
const char *  key5,
const char *  key6,
const char *  key7,
const char *  key8 
)
inline

Definition at line 199 of file TupleString.h.

202  {
203  tupleCat = MultiString <NumStrings>(key1, key2, key3, key4,
204  key5, key6, key7, key8);
205  tupleCat.upcase();
206  makeHash();
207  }
void makeHash()
Definition: TupleString.h:209
MultiString< NumStrings > tupleCat
Definition: TupleString.h:167

Member Function Documentation

◆ getCatKey()

template<short NumStrings>
const char* TupleString< NumStrings >::getCatKey ( ) const
inline

Definition at line 233 of file TupleString.h.

233 {return tupleCat.getMString();}
MultiString< NumStrings > tupleCat
Definition: TupleString.h:167

◆ getHashKey()

template<short NumStrings>
const uint64_t TupleString< NumStrings >::getHashKey ( ) const
inline

◆ getTuplePtr()

template<short NumStrings>
char* TupleString< NumStrings >::getTuplePtr ( short  index)
inline

Definition at line 235 of file TupleString.h.

235 { return tupleCat.getTuplePtr(index); }
MultiString< NumStrings > tupleCat
Definition: TupleString.h:167

◆ makeHash()

template<short NumStrings>
void TupleString< NumStrings >::makeHash ( )
inline

Definition at line 209 of file TupleString.h.

Referenced by TupleString< 4 >::TupleString().

210  {
211  hashKey = XXH3_64bits(tupleCat.getMString(), tupleCat.length());
212  }
MultiString< NumStrings > tupleCat
Definition: TupleString.h:167
XXH_PUBLIC_API XXH64_hash_t XXH3_64bits(const void *input, size_t len)
Definition: xxh3.h:1430

◆ operator<()

template<short NumStrings>
bool TupleString< NumStrings >::operator< ( const TupleString< NumStrings > &  rhs) const
inline

Definition at line 225 of file TupleString.h.

226  {
227  if(hashKey == rhs.getHashKey())
228  return(tupleCat < rhs.tupleCat);
229  return hashKey < rhs.getHashKey();
230  }
MultiString< NumStrings > tupleCat
Definition: TupleString.h:167
const uint64_t getHashKey() const
Definition: TupleString.h:232

◆ operator==()

template<short NumStrings>
bool TupleString< NumStrings >::operator== ( const TupleString< NumStrings > &  rhs) const
inline

Definition at line 215 of file TupleString.h.

216  {
217  if(hashKey == rhs.getHashKey())
218  {
219  return tupleCat == rhs.tupleCat;
220  }
221  return false;
222  }
MultiString< NumStrings > tupleCat
Definition: TupleString.h:167
const uint64_t getHashKey() const
Definition: TupleString.h:232

Member Data Documentation

◆ tupleCat

template<short NumStrings>
MultiString<NumStrings> TupleString< NumStrings >::tupleCat

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