An LHF-like structure for scalar values. It does not implement any special operations besides deduplication.
More...
template<typename PropertyT, typename PropertyLess = DefaultLess<PropertyT>, typename PropertyHash = DefaultHash<PropertyT>, typename PropertyEqual = DefaultEqual<PropertyT>, typename PropertyPrinter = DefaultPrinter<PropertyT>>
struct lhf::Deduplicator< PropertyT, PropertyLess, PropertyHash, PropertyEqual, PropertyPrinter >
An LHF-like structure for scalar values. It does not implement any special operations besides deduplication.
- Template Parameters
-
PropertyT | The type of the property. The property type must satisfy the following:
- It must be hashable with std::hash
- It must be less-than comparable
- It can be checked for equality
|
PropertyLess | Custom less-than comparator (if required) |
PropertyEqual | Custom equality comaparator (if required) |
PropertyPrinter | PropertyT string representation generator |
Definition at line 1893 of file lhf.hpp.
template<typename PropertyT , typename PropertyLess = DefaultLess<PropertyT>, typename PropertyHash = DefaultHash<PropertyT>, typename PropertyEqual = DefaultEqual<PropertyT>, typename PropertyPrinter = DefaultPrinter<PropertyT>>
Index lhf::Deduplicator< PropertyT, PropertyLess, PropertyHash, PropertyEqual, PropertyPrinter >::register_value |
( |
const PropertyT & |
c | ) |
|
|
inline |
Inserts a (or gets an existing) element into property storage.
- Parameters
-
[in] | c | The single-element property set. |
- Returns
- Index of the newly created/existing set.
- Todo:
- Check whether the cache hit check can be removed.
Definition at line 1947 of file lhf.hpp.