|
Squid Web Cache master
|
#include <LookupTable.h>
Public Types | |
| typedef RecordType | Record |
| element of the lookup table initialization list | |
Public Member Functions | |
| LookupTable (const EnumType theInvalid, const Record data[]) | |
| EnumType | lookup (const SBuf &key) const |
Private Types | |
| using | lookupTable_t = std::unordered_map< const SBuf, EnumType, Hasher, CaseInsensitiveSBufEqual > |
Private Attributes | |
| lookupTable_t | lookupTable |
| EnumType | invalidValue |
SBuf -> case-insensitive enum lookup table
How to use: enum enum_type { ... }; static const LookupTable<enum_type>::Record initializerTable[] = { {"key1", ENUM_1}, {"key2", ENUM_2}, ... {nullptr, ENUM_INVALID_VALUE} }; LookupTable<enum_type> lookupTableInstance(ENUM_INVALID_VALUE, initializerTable);
then in the code: SBuf s(string_to_lookup); enum_type item = lookupTableInstance.lookup(s); if (item != ENUM_INVALID_VALUE) { // do stuff }
Definition at line 51 of file LookupTable.h.
|
private |
Definition at line 73 of file LookupTable.h.
| typedef RecordType LookupTable< EnumType, RecordType, Hasher >::Record |
Definition at line 55 of file LookupTable.h.
|
inline |
Definition at line 57 of file LookupTable.h.
References LookupTable< EnumType, RecordType, Hasher >::lookupTable.
|
inline |
Definition at line 65 of file LookupTable.h.
References LookupTable< EnumType, RecordType, Hasher >::invalidValue, and LookupTable< EnumType, RecordType, Hasher >::lookupTable.
Referenced by TestLookupTable::testLookupTableLookup().
|
private |
Definition at line 75 of file LookupTable.h.
Referenced by LookupTable< EnumType, RecordType, Hasher >::lookup().
|
private |
Definition at line 74 of file LookupTable.h.
Referenced by LookupTable< EnumType, RecordType, Hasher >::LookupTable(), and LookupTable< EnumType, RecordType, Hasher >::lookup().