34  template<
class H = Hash>
 
   42  template<
typename U = value_type>
 
   44    return (lhs ^ rhs) + 0x9e3779b9 + (lhs << 6) + (rhs >> 2);
 
 
   59  template<class T, typename = typename std::enable_if<std::is_enum<T>::value>::type>
 
   66    return process(std::begin(v), std::end(v));
 
 
   70  template<
class T, 
size_t N>
 
   72    process(std::begin(array), std::end(array));
 
 
   78    process(std::begin(vector), std::end(vector));
 
 
   84    process(std::begin(set), std::end(set));
 
 
   96  template<
class U, 
class V>
 
  103  template<
class InputIt>
 
  105    for (
auto&& it = begin; it != end; ++it) {
 
 
 
  126template<
class Hasher>
 
  130  return hasher.value();
 
 
static value_type hash(span< const uint8_t > raw)
 
virtual Hash & process(const std::u16string &str)
 
virtual Hash & process(span< const uint8_t > raw)
 
Hash & process(const std::array< T, N > &array)
Definition hash.hpp:71
 
static value_type combine(value_type lhs, U rhs)
Definition hash.hpp:43
 
Hash & process(InputIt begin, InputIt end)
Definition hash.hpp:104
 
virtual Hash & process(const std::string &str)
 
virtual Hash & process(size_t integer)
 
size_t value_type
Definition hash.hpp:33
 
static value_type hash(const Object &obj)
Definition hash.hpp:127
 
Hash & process(const std::vector< T > &vector)
Definition hash.hpp:77
 
Hash(value_type init_value)
 
virtual Hash & process(const std::vector< uint8_t > &raw)
 
Hash & process(const optional< T > &opt)
Definition hash.hpp:89
 
Hash & process(const std::pair< U, V > &p)
Definition hash.hpp:97
 
static value_type hash(const void *raw, size_t size)
 
static value_type hash(const std::vector< uint8_t > &raw)
 
value_type value() const
Definition hash.hpp:111
 
Hash & process(T v)
Definition hash.hpp:60
 
Hash & process(typename It::iterator v)
Definition hash.hpp:65
 
virtual Hash & process(const Object &obj)
 
Hash & process(const std::set< T > &set)
Definition hash.hpp:83
 
virtual void accept(Visitor &visitor) const =0
 
virtual void visit(const Object &)
 
Definition optional.hpp:23
 
LIEF namespace.
Definition Abstract/Binary.hpp:40
 
tcb::span< ElementType, Extent > span
Definition span.hpp:22
 
Hash::value_type hash(const Object &v)
 
#define LIEF_API
Definition visibility.h:41