HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros 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 
19 #include <SYS/SYS_Time.h>
20 
21 #include "UT_PriorityQueue.h"
22 
23 struct UT_TimeBlock;
25 
26 // A block of time with a start and end.
28 {
30 
31  fpreal time() const;
32 
35 };
36 
37 // Comparator for time blocks.
39 {
40 public:
41  bool operator()(const UT_TimeBlock *block1, const UT_TimeBlock *block2) const;
42 };
43 
46 
48 {
49 public:
50  static bool isTimeLess(const SYS_TimeVal &time1, const SYS_TimeVal &time2);
51  static bool doTimeBlocksOverlap(const UT_TimeBlock *block1,
52  const UT_TimeBlock *block2);
53  static void mergeTimeBlock(const UT_TimeBlock &time_block,
54  UT_TimeBlockQueue &time_blocks);
55 };
56 
57 #endif
struct timeval SYS_TimeVal
Definition: SYS_Time.h:27
SYS_TimeVal myStart
GLuint start
Definition: glcorearb.h:474
#define UT_API
Definition: UT_API.h:12
UT_PriorityQueue< UT_TimeBlock *, UT_TimeBlockCompare, false > UT_TimeBlockQueue
GLuint GLuint end
Definition: glcorearb.h:474
double fpreal
Definition: SYS_Types.h:263
SYS_TimeVal myEnd
UT_ValArray< UT_TimeBlock > UT_TimeBlockList