Lines Matching defs:value
16 // Marker type for hashmaps without a value (i.e. hashsets). These won't
17 // allocate space for the value in the entry.
20 // HashMap entries are (key, value, hash) triplets, with a boolean indicating if
21 // they are an empty entry. Some clients may not need to use the value slot
22 // (e.g. implementers of sets, where the key is the value), in which case they
26 STATIC_ASSERT((!std::is_same<Value, NoHashMapValue>::value));
29 Value value;
30 uint32_t hash; // The full hash value for key
32 TemplateHashMapEntry(Key key, Value value, uint32_t hash)
33 : key(key), value(value), hash(hash), exists_(true) {}
46 STATIC_ASSERT((!std::is_same<Value, NoHashMapValue>::value));
49 Value value;
50 uint32_t hash; // The full hash value for key
52 TemplateHashMapEntry(Key* key, Value value, uint32_t hash)
53 : key(key), value(value), hash(hash) {}
60 // Specialization for no value.
65 NoHashMapValue value; // Value in union with key to not take up space.
67 uint32_t hash; // The full hash value for key
69 TemplateHashMapEntry(Key key, NoHashMapValue value, uint32_t hash)
80 // Specialization for pointer-valued keys and no value.
85 NoHashMapValue value; // Value in union with key to not take up space.
87 uint32_t hash; // The full hash value for key
89 TemplateHashMapEntry(Key* key, NoHashMapValue value, uint32_t hash)