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::__vector2list_info Class Reference

A vector-to-list instrumentation line in the object table. More...

#include <profile/impl/profiler_vector_to_list.h>

Inheritance diagram for __gnu_profile::__vector2list_info:
__gnu_profile::__object_info_base __gnu_profile::__vector2list_stack_info

Public Member Functions

 __vector2list_info ()
 
 __vector2list_info (__stack_t __stack)
 
virtual ~__vector2list_info ()
 
 __vector2list_info (const __vector2list_info &__o)
 
void __merge (const __vector2list_info &__o)
 
void __write (FILE *__f) const
 
float __magnitude () const
 
std::string __advice () const
 
std::size_t __shift_count ()
 
std::size_t __iterate ()
 
float __list_cost ()
 
std::size_t __resize ()
 
void __set_list_cost (float __lc)
 
void __set_vector_cost (float __vc)
 
bool __is_valid ()
 
void __set_invalid ()
 
void __opr_insert (std::size_t __pos, std::size_t __num)
 
void __opr_iterate (std::size_t __num)
 
void __resize (std::size_t __from, std::size_t)
 
void __opr_find (std::size_t __size)
 
- 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_shift_count
 
std::size_t _M_iterate
 
std::size_t _M_resize
 
float _M_list_cost
 
float _M_vector_cost
 
bool _M_valid
 

Additional Inherited Members

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

Detailed Description

A vector-to-list instrumentation line in the object table.

Constructor & Destructor Documentation

__gnu_profile::__vector2list_info::__vector2list_info ( )
inline
46  _M_vector_cost(0), _M_valid(true) { }
float _M_vector_cost
Definition: profiler_vector_to_list.h:142
std::size_t _M_iterate
Definition: profiler_vector_to_list.h:139
std::size_t _M_resize
Definition: profiler_vector_to_list.h:140
std::size_t _M_shift_count
Definition: profiler_vector_to_list.h:138
float _M_list_cost
Definition: profiler_vector_to_list.h:141
bool _M_valid
Definition: profiler_vector_to_list.h:143
__gnu_profile::__vector2list_info::__vector2list_info ( __stack_t  __stack)
inline
50  _M_resize(0), _M_list_cost(0), _M_vector_cost(0), _M_valid(true) { }
__object_info_base()
Definition: profiler_node.h:126
float _M_vector_cost
Definition: profiler_vector_to_list.h:142
std::size_t _M_iterate
Definition: profiler_vector_to_list.h:139
__stack_t __stack() const
Definition: profiler_node.h:141
std::size_t _M_resize
Definition: profiler_vector_to_list.h:140
std::size_t _M_shift_count
Definition: profiler_vector_to_list.h:138
float _M_list_cost
Definition: profiler_vector_to_list.h:141
bool _M_valid
Definition: profiler_vector_to_list.h:143
virtual __gnu_profile::__vector2list_info::~__vector2list_info ( )
inlinevirtual
52 { }
__gnu_profile::__vector2list_info::__vector2list_info ( const __vector2list_info __o)
inline
55  : __object_info_base(__o), _M_shift_count(__o._M_shift_count),
56  _M_iterate(__o._M_iterate), _M_resize(__o._M_resize),
57  _M_list_cost(__o._M_list_cost), _M_vector_cost(__o._M_vector_cost),
58  _M_valid(__o._M_valid) { }
__object_info_base()
Definition: profiler_node.h:126
float _M_vector_cost
Definition: profiler_vector_to_list.h:142
std::size_t _M_iterate
Definition: profiler_vector_to_list.h:139
std::size_t _M_resize
Definition: profiler_vector_to_list.h:140
std::size_t _M_shift_count
Definition: profiler_vector_to_list.h:138
float _M_list_cost
Definition: profiler_vector_to_list.h:141
bool _M_valid
Definition: profiler_vector_to_list.h:143

Member Function Documentation

std::string __gnu_profile::__vector2list_info::__advice ( ) const
inline
84  { return "change std::vector to std::list"; }
bool __gnu_profile::__vector2list_info::__is_valid ( )
inline
112  { return _M_valid; }
bool _M_valid
Definition: profiler_vector_to_list.h:143
std::size_t __gnu_profile::__vector2list_info::__iterate ( )
inline
92  { return _M_iterate; }
std::size_t _M_iterate
Definition: profiler_vector_to_list.h:139
float __gnu_profile::__vector2list_info::__list_cost ( )
inline
96  { return _M_list_cost; }
float _M_list_cost
Definition: profiler_vector_to_list.h:141
float __gnu_profile::__vector2list_info::__magnitude ( ) const
inline
80  { return _M_vector_cost - _M_list_cost; }
float _M_vector_cost
Definition: profiler_vector_to_list.h:142
float _M_list_cost
Definition: profiler_vector_to_list.h:141
void __gnu_profile::__vector2list_info::__merge ( const __vector2list_info __o)
inline
62  {
63  _M_shift_count += __o._M_shift_count;
64  _M_iterate += __o._M_iterate;
65  _M_vector_cost += __o._M_vector_cost;
66  _M_list_cost += __o._M_list_cost;
67  _M_valid &= __o._M_valid;
68  _M_resize += __o._M_resize;
69  }
float _M_vector_cost
Definition: profiler_vector_to_list.h:142
std::size_t _M_iterate
Definition: profiler_vector_to_list.h:139
std::size_t _M_resize
Definition: profiler_vector_to_list.h:140
std::size_t _M_shift_count
Definition: profiler_vector_to_list.h:138
float _M_list_cost
Definition: profiler_vector_to_list.h:141
bool _M_valid
Definition: profiler_vector_to_list.h:143
void __gnu_profile::__vector2list_info::__opr_find ( std::size_t  __size)
inline
132  {
133  // Use average case complexity.
134  _M_iterate += 3.0 / 4.0 * __size;
135  }
std::size_t __size(__stack_t __stack)
Definition: profiler_node.h:68
std::size_t _M_iterate
Definition: profiler_vector_to_list.h:139
void __gnu_profile::__vector2list_info::__opr_insert ( std::size_t  __pos,
std::size_t  __num 
)
inline
120  { _M_shift_count += __num - __pos; }
std::size_t _M_shift_count
Definition: profiler_vector_to_list.h:138
void __gnu_profile::__vector2list_info::__opr_iterate ( std::size_t  __num)
inline
124  { _M_iterate += __num; }
std::size_t _M_iterate
Definition: profiler_vector_to_list.h:139
std::size_t __gnu_profile::__vector2list_info::__resize ( )
inline
100  { return _M_resize; }
std::size_t _M_resize
Definition: profiler_vector_to_list.h:140
void __gnu_profile::__vector2list_info::__resize ( std::size_t  __from,
std::size_t   
)
inline
128  { _M_resize += __from; }
std::size_t _M_resize
Definition: profiler_vector_to_list.h:140
void __gnu_profile::__vector2list_info::__set_invalid ( )
inline
116  { _M_valid = false; }
bool _M_valid
Definition: profiler_vector_to_list.h:143
void __gnu_profile::__vector2list_info::__set_list_cost ( float  __lc)
inline
104  { _M_list_cost = __lc; }
float _M_list_cost
Definition: profiler_vector_to_list.h:141
void __gnu_profile::__vector2list_info::__set_vector_cost ( float  __vc)
inline
108  { _M_vector_cost = __vc; }
float _M_vector_cost
Definition: profiler_vector_to_list.h:142
std::size_t __gnu_profile::__vector2list_info::__shift_count ( )
inline
88  { return _M_shift_count; }
std::size_t _M_shift_count
Definition: profiler_vector_to_list.h:138
void __gnu_profile::__vector2list_info::__write ( FILE *  __f) const
inlinevirtual

Implements __gnu_profile::__object_info_base.

73  {
74  std::fprintf(__f, "%Zu %Zu %Zu %.0f %.0f\n", _M_shift_count,
76  }
float _M_vector_cost
Definition: profiler_vector_to_list.h:142
std::size_t _M_iterate
Definition: profiler_vector_to_list.h:139
std::size_t _M_resize
Definition: profiler_vector_to_list.h:140
std::size_t _M_shift_count
Definition: profiler_vector_to_list.h:138
float _M_list_cost
Definition: profiler_vector_to_list.h:141

Member Data Documentation

std::size_t __gnu_profile::__vector2list_info::_M_iterate
private
float __gnu_profile::__vector2list_info::_M_list_cost
private
std::size_t __gnu_profile::__vector2list_info::_M_resize
private
std::size_t __gnu_profile::__vector2list_info::_M_shift_count
private
bool __gnu_profile::__vector2list_info::_M_valid
private
float __gnu_profile::__vector2list_info::_M_vector_cost
private

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