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_HASHTABLE_SIZE_H
00038 #define _GLIBCXX_PROFILE_PROFILER_HASHTABLE_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_hashtable_size
00050 : public __trace_container_size
00051 {
00052 public:
00053 __trace_hashtable_size()
00054 : __trace_container_size()
00055 { __id = "hashtable-size"; }
00056 };
00057
00058 inline void
00059 __trace_hashtable_size_init()
00060 { _GLIBCXX_PROFILE_DATA(_S_hashtable_size) = new __trace_hashtable_size(); }
00061
00062 inline void
00063 __trace_hashtable_size_report(FILE* __f, __warning_vector_t& __warnings)
00064 {
00065 if (_GLIBCXX_PROFILE_DATA(_S_hashtable_size))
00066 {
00067 _GLIBCXX_PROFILE_DATA(_S_hashtable_size)->
00068 __collect_warnings(__warnings);
00069 _GLIBCXX_PROFILE_DATA(_S_hashtable_size)->__write(__f);
00070 }
00071 }
00072
00073 inline void
00074 __trace_hashtable_size_construct(const void* __obj, std::size_t __num)
00075 {
00076 if (!__profcxx_init())
00077 return;
00078
00079 _GLIBCXX_PROFILE_DATA(_S_hashtable_size)->__insert(__obj, __get_stack(),
00080 __num);
00081 }
00082
00083 inline void
00084 __trace_hashtable_size_destruct(const void* __obj, std::size_t __num,
00085 std::size_t __inum)
00086 {
00087 if (!__profcxx_init())
00088 return;
00089
00090 _GLIBCXX_PROFILE_DATA(_S_hashtable_size)->__destruct(__obj, __num, __inum);
00091 }
00092
00093 inline void
00094 __trace_hashtable_size_resize(const void* __obj, std::size_t __from,
00095 std::size_t __to)
00096 {
00097 if (!__profcxx_init())
00098 return;
00099
00100 _GLIBCXX_PROFILE_DATA(_S_hashtable_size)->__resize(__obj, __from, __to);
00101 }
00102
00103 }
00104
00105 #endif