HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
UT_PerfMonUtils.h
Go to the documentation of this file.
1 /*
2  * PROPRIETARY INFORMATION. This software is proprietary to
3  * Side Effects Software Inc., and is not to be reproduced,
4  * transmitted, or disclosed in any way without written permission.
5  *
6  * NAME: UT_PerfMonUtils.h (UT Library, C++)
7  *
8  * COMMENTS:
9  *
10  * Pure static class that provides utilities for the performance monitor
11  * to merge and manipulate sets of times
12  */
13 
14 #ifndef __UT_PerfMonUtils__
15 #define __UT_PerfMonUtils__
16 
17 #include "UT_API.h"
18 #include "UT_PriorityQueue.h"
19 #include "UT_ValArray.h"
20 
21 #include <SYS/SYS_Time.h>
22 
23 
24 struct UT_TimeBlock;
26 
27 // A block of time with a start and end.
29 {
31 
32  fpreal time() const;
33 
36 };
37 
38 // Comparator for time blocks.
40 {
41 public:
42  bool operator()(const UT_TimeBlock *block1, const UT_TimeBlock *block2) const;
43 };
44 
47 
49 {
50 public:
51  static bool isTimeLess(const SYS_TimeVal &time1, const SYS_TimeVal &time2);
52  static bool doTimeBlocksOverlap(const UT_TimeBlock *block1,
53  const UT_TimeBlock *block2);
54  static void mergeTimeBlock(const UT_TimeBlock &time_block,
55  UT_TimeBlockQueue &time_blocks);
56 };
57 
58 #endif
struct timeval SYS_TimeVal
Definition: SYS_Time.h:27
SYS_TimeVal myStart
GT_API const UT_StringHolder time
GLuint start
Definition: glcorearb.h:474
#define UT_API
Definition: UT_API.h:13
UT_PriorityQueue< UT_TimeBlock *, UT_TimeBlockCompare, false > UT_TimeBlockQueue
GLuint GLuint end
Definition: glcorearb.h:474
double fpreal
Definition: SYS_Types.h:270
SYS_TimeVal myEnd
UT_ValArray< UT_TimeBlock > UT_TimeBlockList