STLdoc
STLdocumentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Private Attributes | List of all members
__gnu_profile::__hashfunc_info Class Reference

A hash performance instrumentation line in the object table. More...

#include <profile/impl/profiler_hash_func.h>

Inheritance diagram for __gnu_profile::__hashfunc_info:
__gnu_profile::__object_info_base __gnu_profile::__hashfunc_stack_info

Public Member Functions

 __hashfunc_info ()
 
 __hashfunc_info (const __hashfunc_info &__o)
 
 __hashfunc_info (__stack_t __stack)
 
virtual ~__hashfunc_info ()
 
void __merge (const __hashfunc_info &__o)
 
void __destruct (std::size_t __chain, std::size_t __accesses, std::size_t __hops)
 
void __write (FILE *__f) const
 
float __magnitude () const
 
std::string __advice () const
 
- Public Member Functions inherited from __gnu_profile::__object_info_base
 __object_info_base ()
 
 __object_info_base (__stack_t __stack)
 
 __object_info_base (const __object_info_base &__o)
 
virtual ~__object_info_base ()
 
bool __is_valid () const
 
__stack_t __stack () const
 

Private Attributes

std::size_t _M_longest_chain
 
std::size_t _M_accesses
 
std::size_t _M_hops
 

Additional Inherited Members

- Protected Attributes inherited from __gnu_profile::__object_info_base
__stack_t _M_stack
 
bool _M_valid
 

Detailed Description

A hash performance instrumentation line in the object table.

Constructor & Destructor Documentation

__gnu_profile::__hashfunc_info::__hashfunc_info ( )
inline
45  : _M_longest_chain(0), _M_accesses(0), _M_hops(0) { }
std::size_t _M_longest_chain
Definition: profiler_hash_func.h:88
std::size_t _M_hops
Definition: profiler_hash_func.h:90
std::size_t _M_accesses
Definition: profiler_hash_func.h:89
__gnu_profile::__hashfunc_info::__hashfunc_info ( const __hashfunc_info __o)
inline
48  : __object_info_base(__o), _M_longest_chain(__o._M_longest_chain),
49  _M_accesses(__o._M_accesses), _M_hops(__o._M_hops) { }
__object_info_base()
Definition: profiler_node.h:126
std::size_t _M_longest_chain
Definition: profiler_hash_func.h:88
std::size_t _M_hops
Definition: profiler_hash_func.h:90
std::size_t _M_accesses
Definition: profiler_hash_func.h:89
__gnu_profile::__hashfunc_info::__hashfunc_info ( __stack_t  __stack)
inline
53  _M_accesses(0), _M_hops(0) { }
__object_info_base()
Definition: profiler_node.h:126
std::size_t _M_longest_chain
Definition: profiler_hash_func.h:88
std::size_t _M_hops
Definition: profiler_hash_func.h:90
__stack_t __stack() const
Definition: profiler_node.h:141
std::size_t _M_accesses
Definition: profiler_hash_func.h:89
virtual __gnu_profile::__hashfunc_info::~__hashfunc_info ( )
inlinevirtual
55 { }

Member Function Documentation

std::string __gnu_profile::__hashfunc_info::__advice ( ) const
inline
85  { return "change hash function"; }
void __gnu_profile::__hashfunc_info::__destruct ( std::size_t  __chain,
std::size_t  __accesses,
std::size_t  __hops 
)
inline
68  {
70  _M_accesses += __accesses;
71  _M_hops += __hops;
72  }
std::size_t _M_longest_chain
Definition: profiler_hash_func.h:88
std::size_t _M_hops
Definition: profiler_hash_func.h:90
std::size_t _M_accesses
Definition: profiler_hash_func.h:89
const _Tp & max(const _Tp &__a, const _Tp &__b)
Equivalent to std::max.
Definition: base.h:150
float __gnu_profile::__hashfunc_info::__magnitude ( ) const
inline
81  { return static_cast<float>(_M_hops); }
std::size_t _M_hops
Definition: profiler_hash_func.h:90
void __gnu_profile::__hashfunc_info::__merge ( const __hashfunc_info __o)
inline
59  {
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;
63  }
std::size_t _M_longest_chain
Definition: profiler_hash_func.h:88
std::size_t _M_hops
Definition: profiler_hash_func.h:90
std::size_t _M_accesses
Definition: profiler_hash_func.h:89
const _Tp & max(const _Tp &__a, const _Tp &__b)
Equivalent to std::max.
Definition: base.h:150
void __gnu_profile::__hashfunc_info::__write ( FILE *  __f) const
inlinevirtual

Implements __gnu_profile::__object_info_base.

76  { std::fprintf(__f, "%Zu %Zu %Zu\n", _M_hops,
std::size_t _M_longest_chain
Definition: profiler_hash_func.h:88
std::size_t _M_hops
Definition: profiler_hash_func.h:90
std::size_t _M_accesses
Definition: profiler_hash_func.h:89

Member Data Documentation

std::size_t __gnu_profile::__hashfunc_info::_M_accesses
private
std::size_t __gnu_profile::__hashfunc_info::_M_hops
private
std::size_t __gnu_profile::__hashfunc_info::_M_longest_chain
private

The documentation for this class was generated from the following file: