MCPcopy Create free account
hub / github.com/docopt/docopt.cpp / hash

Method hash

docopt_value.h:243–268  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

241 void hash_combine(std::size_t& seed, const T& v);
242
243 inline
244 size_t value::hash() const noexcept
245 {
246 switch (kind_) {
247 case Kind::String:
248 return std::hash<std::string>()(variant_.strValue);
249
250 case Kind::StringList: {
251 size_t seed = std::hash<size_t>()(variant_.strList.size());
252 for(auto const& str : variant_.strList) {
253 hash_combine(seed, str);
254 }
255 return seed;
256 }
257
258 case Kind::Bool:
259 return std::hash<bool>()(variant_.boolValue);
260
261 case Kind::Long:
262 return std::hash<long>()(variant_.longValue);
263
264 case Kind::Empty:
265 default:
266 return std::hash<void*>()(nullptr);
267 }
268 }
269
270 inline
271 bool value::asBool() const

Callers 1

operator()Method · 0.45

Calls 1

hash_combineFunction · 0.85

Tested by

no test coverage detected