30 #ifndef _GLIBCXX_PROFILE_PROFILER_HASH_FUNC_H 
   31 #define _GLIBCXX_PROFILE_PROFILER_HASH_FUNC_H 1 
   37 namespace __gnu_profile
 
   45     : _M_longest_chain(0), _M_accesses(0), _M_hops(0) { }
 
   49       _M_accesses(__o._M_accesses), _M_hops(__o._M_hops) { }
 
   53       _M_accesses(0), _M_hops(0) { }
 
   60       _M_longest_chain  = 
std::max(_M_longest_chain, __o._M_longest_chain);
 
   61       _M_accesses      += __o._M_accesses;
 
   62       _M_hops          += __o._M_hops;
 
   66     __destruct(std::size_t __chain, std::size_t __accesses,
 
   69       _M_longest_chain  = 
std::max(_M_longest_chain, __chain);
 
   70       _M_accesses      += __accesses;
 
   75     __write(FILE* __f)
 const 
   76     { std::fprintf(__f, 
"%Zu %Zu %Zu\n", _M_hops,
 
   77            _M_accesses, _M_longest_chain); }
 
   81     { 
return static_cast<float>(_M_hops); }
 
   85     { 
return "change hash function"; }
 
   88     std::size_t _M_longest_chain;
 
   89     std::size_t _M_accesses;
 
  106   : 
public __trace_base<__hashfunc_info, __hashfunc_stack_info> 
 
  111     { __id = 
"hash-distr"; }
 
  117     __insert(__object_t __obj, __stack_t __stack)
 
  122     __destruct(
const void* __obj, std::size_t __chain,
 
  123            std::size_t __accesses, std::size_t __hops)
 
  133       __objs->__destruct(__chain, __accesses, __hops);
 
  134       __retire_object(__obj);
 
  140   __trace_hash_func_init()
 
  144   __trace_hash_func_report(FILE* __f, __warning_vector_t& __warnings)
 
  146     if (_GLIBCXX_PROFILE_DATA(_S_hash_func))
 
  148     _GLIBCXX_PROFILE_DATA(_S_hash_func)->__collect_warnings(__warnings);
 
  149     _GLIBCXX_PROFILE_DATA(_S_hash_func)->__write(__f);
 
  154   __trace_hash_func_construct(
const void* __obj)
 
  159     _GLIBCXX_PROFILE_DATA(_S_hash_func)->__insert(__obj, __get_stack());
 
  163   __trace_hash_func_destruct(
const void* __obj, std::size_t __chain,
 
  164                  std::size_t __accesses, std::size_t __hops)
 
  169     _GLIBCXX_PROFILE_DATA(_S_hash_func)->__destruct(__obj, __chain,