55 template <typename T> |
55 template <typename T> |
56 void Add (std::string name, |
56 void Add (std::string name, |
57 TraceSource &trace, T const &context); |
57 TraceSource &trace, T const &context); |
58 /** |
58 /** |
59 * \param name name of trace source |
59 * \param name name of trace source |
60 * \param trace a signed variable trace source |
|
61 * \param context the context associated to this trace source |
|
62 * |
|
63 * Add a signed variable trace source in this resolver. |
|
64 * This trace source will match the name specified during namespace |
|
65 * resolution. The TraceContext of this trace source will also |
|
66 * be automatically extended to contain the input context. |
|
67 */ |
|
68 template <typename T> |
|
69 void Add (std::string name, |
|
70 SVTraceSourceBase &trace, T const &context); |
|
71 /** |
|
72 * \param name name of trace source |
|
73 * \param trace an unsigned variable trace source |
|
74 * \param context the context associated to this trace source |
|
75 * |
|
76 * Add an unsigned variable trace source in this resolver. |
|
77 * This trace source will match the name specified during namespace |
|
78 * resolution. The TraceContext of this trace source will also |
|
79 * be automatically extended to contain the input context. |
|
80 */ |
|
81 template <typename T> |
|
82 void Add (std::string name, |
|
83 UVTraceSourceBase &trace, T const &context); |
|
84 /** |
|
85 * \param name name of trace source |
|
86 * \param trace a floating-point variable trace source |
|
87 * \param context the context associated to this trace source |
|
88 * |
|
89 * Add a floating-point variable trace source in this resolver. |
|
90 * This trace source will match the name specified during namespace |
|
91 * resolution. The TraceContext of this trace source will also |
|
92 * be automatically extended to contain the input context. |
|
93 */ |
|
94 template <typename T> |
|
95 void Add (std::string name, |
|
96 FVTraceSourceBase &trace, T const &context); |
|
97 /** |
|
98 * \param name name of trace source |
|
99 * \param trace a callback trace source |
60 * \param trace a callback trace source |
100 * |
61 * |
101 * Add a callback trace source in this resolver. This trace |
62 * Add a callback trace source in this resolver. This trace |
102 * source will match the name specified during namespace |
63 * source will match the name specified during namespace |
103 * resolution. |
64 * resolution. |
104 */ |
65 */ |
105 void Add (std::string name, |
66 void Add (std::string name, |
106 TraceSource &trace); |
67 TraceSource &trace); |
107 /** |
|
108 * \param name name of trace source |
|
109 * \param trace a signed variable trace source |
|
110 * |
|
111 * Add a signed variable trace source in this resolver. |
|
112 * This trace source will match the name specified during namespace |
|
113 * resolution. |
|
114 */ |
|
115 void Add (std::string name, |
|
116 SVTraceSourceBase &trace); |
|
117 /** |
|
118 * \param name name of trace source |
|
119 * \param trace an unsigned variable trace source |
|
120 * |
|
121 * Add an unsigned variable trace source in this resolver. |
|
122 * This trace source will match the name specified during namespace |
|
123 * resolution. |
|
124 */ |
|
125 void Add (std::string name, |
|
126 UVTraceSourceBase &trace); |
|
127 /** |
|
128 * \param name name of trace source |
|
129 * \param trace a floating-point variable trace source |
|
130 * |
|
131 * Add a floating-point variable trace source in this resolver. |
|
132 * This trace source will match the name specified during namespace |
|
133 * resolution. |
|
134 */ |
|
135 void Add (std::string name, |
|
136 FVTraceSourceBase &trace); |
|
137 /** |
68 /** |
138 * \param name name of child trace resolver |
69 * \param name name of child trace resolver |
139 * \param createResolver a trace resolver constructor |
70 * \param createResolver a trace resolver constructor |
140 * |
71 * |
141 * Add a child trace resolver to this resolver. This child |
72 * Add a child trace resolver to this resolver. This child |
194 enum Operation op); |
125 enum Operation op); |
195 void DoAddChild (std::string name, Ptr<Object> child, const TraceContext &context); |
126 void DoAddChild (std::string name, Ptr<Object> child, const TraceContext &context); |
196 void DoAddSource (std::string name, |
127 void DoAddSource (std::string name, |
197 TraceSource &trace, |
128 TraceSource &trace, |
198 const TraceContext &context); |
129 const TraceContext &context); |
199 void DoAddSV (std::string name, |
|
200 SVTraceSourceBase &trace, |
|
201 const TraceContext &context); |
|
202 void DoAddUV (std::string name, |
|
203 UVTraceSourceBase &trace, |
|
204 const TraceContext &context); |
|
205 void DoAddFV (std::string name, |
|
206 FVTraceSourceBase &trace, |
|
207 const TraceContext &context); |
|
208 |
|
209 |
130 |
210 CompositeTraceResolver::TraceItems m_items; |
131 CompositeTraceResolver::TraceItems m_items; |
211 Ptr<TraceResolver> m_parent; |
132 Ptr<TraceResolver> m_parent; |
212 }; |
133 }; |
213 |
134 |
224 T const &context) |
145 T const &context) |
225 { |
146 { |
226 TraceContext ctx; |
147 TraceContext ctx; |
227 ctx.Add (context); |
148 ctx.Add (context); |
228 DoAddSource (name, trace, ctx); |
149 DoAddSource (name, trace, ctx); |
229 } |
|
230 |
|
231 template <typename T> |
|
232 void |
|
233 CompositeTraceResolver::Add (std::string name, |
|
234 SVTraceSourceBase &trace, T const &context) |
|
235 { |
|
236 TraceContext ctx; |
|
237 ctx.Add (context); |
|
238 DoAddSV (name, trace, ctx); |
|
239 } |
|
240 template <typename T> |
|
241 void |
|
242 CompositeTraceResolver::Add (std::string name, |
|
243 UVTraceSourceBase &trace, T const &context) |
|
244 { |
|
245 TraceContext ctx; |
|
246 ctx.Add (context); |
|
247 DoAddUV (name, trace, ctx); |
|
248 } |
|
249 template <typename T> |
|
250 void |
|
251 CompositeTraceResolver::Add (std::string name, |
|
252 FVTraceSourceBase &trace, T const &context) |
|
253 { |
|
254 TraceContext ctx; |
|
255 ctx.Add (context); |
|
256 DoAddFV (name, trace, ctx); |
|
257 } |
150 } |
258 |
151 |
259 template <typename ITERATOR, typename INDEX> |
152 template <typename ITERATOR, typename INDEX> |
260 void |
153 void |
261 CompositeTraceResolver::AddArray (std::string name, |
154 CompositeTraceResolver::AddArray (std::string name, |