Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037 #ifndef _GLIBCXX_PROFILE_PROFILER_VECTOR_SIZE_H
00038 #define _GLIBCXX_PROFILE_PROFILER_VECTOR_SIZE_H 1
00039
00040 #include "profile/impl/profiler.h"
00041 #include "profile/impl/profiler_node.h"
00042 #include "profile/impl/profiler_trace.h"
00043 #include "profile/impl/profiler_state.h"
00044 #include "profile/impl/profiler_container_size.h"
00045
00046 namespace __gnu_profile
00047 {
00048
00049 class __trace_vector_size
00050 : public __trace_container_size
00051 {
00052 public:
00053 __trace_vector_size()
00054 : __trace_container_size()
00055 { __id = "vector-size"; }
00056 };
00057
00058 inline void
00059 __trace_vector_size_init()
00060 { _GLIBCXX_PROFILE_DATA(_S_vector_size) = new __trace_vector_size(); }
00061
00062 inline void
00063 __trace_vector_size_report(FILE* __f, __warning_vector_t& __warnings)
00064 {
00065 if (_GLIBCXX_PROFILE_DATA(_S_vector_size))
00066 {
00067 _GLIBCXX_PROFILE_DATA(_S_vector_size)->__collect_warnings(__warnings);
00068 _GLIBCXX_PROFILE_DATA(_S_vector_size)->__write(__f);
00069 }
00070 }
00071
00072 inline void
00073 __trace_vector_size_construct(const void* __obj, std::size_t __num)
00074 {
00075 if (!__profcxx_init())
00076 return;
00077
00078 _GLIBCXX_PROFILE_DATA(_S_vector_size)->__insert(__obj, __get_stack(),
00079 __num);
00080 }
00081
00082 inline void
00083 __trace_vector_size_destruct(const void* __obj, std::size_t __num,
00084 std::size_t __inum)
00085 {
00086 if (!__profcxx_init())
00087 return;
00088
00089 _GLIBCXX_PROFILE_DATA(_S_vector_size)->__destruct(__obj, __num, __inum);
00090 }
00091
00092 inline void
00093 __trace_vector_size_resize(const void* __obj, std::size_t __from,
00094 std::size_t __to)
00095 {
00096 if (!__profcxx_init())
00097 return;
00098
00099 _GLIBCXX_PROFILE_DATA(_S_vector_size)->__resize(__obj, __from, __to);
00100 }
00101
00102 }
00103
00104 #endif