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

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

#include <profile/impl/profiler_list_to_vector.h>

Inheritance diagram for __gnu_profile::__list2vector_info:
__gnu_profile::__object_info_base __gnu_profile::__list2vector_stack_info

Public Member Functions

 __list2vector_info ()
 
 __list2vector_info (__stack_t __stack)
 
virtual ~__list2vector_info ()
 
 __list2vector_info (const __list2vector_info &__o)
 
void __merge (const __list2vector_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 __shift, std::size_t __size)
 
void __opr_iterate (std::size_t __num)
 
void __resize (std::size_t __from, std::size_t)
 
- 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
 
std::size_t _M_max_size
 

Additional Inherited Members

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

Detailed Description

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

Constructor & Destructor Documentation

__gnu_profile::__list2vector_info::__list2vector_info ( )
inline
48  _M_vector_cost(0), _M_valid(true), _M_max_size(0) { }
float _M_list_cost
Definition: profiler_list_to_vector.h:147
float _M_vector_cost
Definition: profiler_list_to_vector.h:148
bool _M_valid
Definition: profiler_list_to_vector.h:149
std::size_t _M_iterate
Definition: profiler_list_to_vector.h:145
std::size_t _M_max_size
Definition: profiler_list_to_vector.h:150
std::size_t _M_shift_count
Definition: profiler_list_to_vector.h:144
std::size_t _M_resize
Definition: profiler_list_to_vector.h:146
__gnu_profile::__list2vector_info::__list2vector_info ( __stack_t  __stack)
inline
53  _M_max_size(0) { }
float _M_list_cost
Definition: profiler_list_to_vector.h:147
__object_info_base()
Definition: profiler_node.h:126
float _M_vector_cost
Definition: profiler_list_to_vector.h:148
bool _M_valid
Definition: profiler_list_to_vector.h:149
std::size_t _M_iterate
Definition: profiler_list_to_vector.h:145
__stack_t __stack() const
Definition: profiler_node.h:141
std::size_t _M_max_size
Definition: profiler_list_to_vector.h:150
std::size_t _M_shift_count
Definition: profiler_list_to_vector.h:144
std::size_t _M_resize
Definition: profiler_list_to_vector.h:146
virtual __gnu_profile::__list2vector_info::~__list2vector_info ( )
inlinevirtual
55 { }
__gnu_profile::__list2vector_info::__list2vector_info ( const __list2vector_info __o)
inline
58  : __object_info_base(__o), _M_shift_count(__o._M_shift_count),
59  _M_iterate(__o._M_iterate), _M_resize(__o._M_resize),
60  _M_list_cost(__o._M_list_cost), _M_vector_cost(__o._M_vector_cost),
61  _M_valid(__o._M_valid), _M_max_size(__o._M_max_size) { }
float _M_list_cost
Definition: profiler_list_to_vector.h:147
__object_info_base()
Definition: profiler_node.h:126
float _M_vector_cost
Definition: profiler_list_to_vector.h:148
bool _M_valid
Definition: profiler_list_to_vector.h:149
std::size_t _M_iterate
Definition: profiler_list_to_vector.h:145
std::size_t _M_max_size
Definition: profiler_list_to_vector.h:150
std::size_t _M_shift_count
Definition: profiler_list_to_vector.h:144
std::size_t _M_resize
Definition: profiler_list_to_vector.h:146

Member Function Documentation

std::string __gnu_profile::__list2vector_info::__advice ( ) const
inline
88  {
89  std::stringstream __sstream;
90  __sstream
91  << "change std::list to std::vector and its initial size from 0 to "
92  << _M_max_size;
93  return __sstream.str();
94  }
std::size_t _M_max_size
Definition: profiler_list_to_vector.h:150
bool __gnu_profile::__list2vector_info::__is_valid ( )
inline
122  { return _M_valid; }
bool _M_valid
Definition: profiler_list_to_vector.h:149
std::size_t __gnu_profile::__list2vector_info::__iterate ( )
inline
102  { return _M_iterate; }
std::size_t _M_iterate
Definition: profiler_list_to_vector.h:145
float __gnu_profile::__list2vector_info::__list_cost ( )
inline
106  { return _M_list_cost; }
float _M_list_cost
Definition: profiler_list_to_vector.h:147
float __gnu_profile::__list2vector_info::__magnitude ( ) const
inline
84  { return _M_list_cost - _M_vector_cost; }
float _M_list_cost
Definition: profiler_list_to_vector.h:147
float _M_vector_cost
Definition: profiler_list_to_vector.h:148
void __gnu_profile::__list2vector_info::__merge ( const __list2vector_info __o)
inline
65  {
66  _M_shift_count += __o._M_shift_count;
67  _M_iterate += __o._M_iterate;
68  _M_vector_cost += __o._M_vector_cost;
69  _M_list_cost += __o._M_list_cost;
70  _M_valid &= __o._M_valid;
71  _M_resize += __o._M_resize;
72  _M_max_size = std::max( _M_max_size, __o._M_max_size);
73  }
float _M_list_cost
Definition: profiler_list_to_vector.h:147
float _M_vector_cost
Definition: profiler_list_to_vector.h:148
bool _M_valid
Definition: profiler_list_to_vector.h:149
std::size_t _M_iterate
Definition: profiler_list_to_vector.h:145
std::size_t _M_max_size
Definition: profiler_list_to_vector.h:150
const _Tp & max(const _Tp &__a, const _Tp &__b)
Equivalent to std::max.
Definition: base.h:150
std::size_t _M_shift_count
Definition: profiler_list_to_vector.h:144
std::size_t _M_resize
Definition: profiler_list_to_vector.h:146
void __gnu_profile::__list2vector_info::__opr_insert ( std::size_t  __shift,
std::size_t  __size 
)
inline
130  {
131  _M_shift_count += __shift;
133  }
std::size_t __size(__stack_t __stack)
Definition: profiler_node.h:68
std::size_t _M_max_size
Definition: profiler_list_to_vector.h:150
const _Tp & max(const _Tp &__a, const _Tp &__b)
Equivalent to std::max.
Definition: base.h:150
std::size_t _M_shift_count
Definition: profiler_list_to_vector.h:144
void __gnu_profile::__list2vector_info::__opr_iterate ( std::size_t  __num)
inline
137  { _M_iterate += __num;}
std::size_t _M_iterate
Definition: profiler_list_to_vector.h:145
std::size_t __gnu_profile::__list2vector_info::__resize ( )
inline
110  { return _M_resize; }
std::size_t _M_resize
Definition: profiler_list_to_vector.h:146
void __gnu_profile::__list2vector_info::__resize ( std::size_t  __from,
std::size_t   
)
inline
141  { _M_resize += __from; }
std::size_t _M_resize
Definition: profiler_list_to_vector.h:146
void __gnu_profile::__list2vector_info::__set_invalid ( )
inline
126  { _M_valid = false; }
bool _M_valid
Definition: profiler_list_to_vector.h:149
void __gnu_profile::__list2vector_info::__set_list_cost ( float  __lc)
inline
114  { _M_list_cost = __lc; }
float _M_list_cost
Definition: profiler_list_to_vector.h:147
void __gnu_profile::__list2vector_info::__set_vector_cost ( float  __vc)
inline
118  { _M_vector_cost = __vc; }
float _M_vector_cost
Definition: profiler_list_to_vector.h:148
std::size_t __gnu_profile::__list2vector_info::__shift_count ( )
inline
98  { return _M_shift_count; }
std::size_t _M_shift_count
Definition: profiler_list_to_vector.h:144
void __gnu_profile::__list2vector_info::__write ( FILE *  __f) const
inlinevirtual

Implements __gnu_profile::__object_info_base.

77  {
78  std::fprintf(__f, "%Zu %Zu %Zu %.0f %.0f\n", _M_shift_count,
80  }
float _M_list_cost
Definition: profiler_list_to_vector.h:147
float _M_vector_cost
Definition: profiler_list_to_vector.h:148
std::size_t _M_iterate
Definition: profiler_list_to_vector.h:145
std::size_t _M_shift_count
Definition: profiler_list_to_vector.h:144
std::size_t _M_resize
Definition: profiler_list_to_vector.h:146

Member Data Documentation

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

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