• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /**
2  * @file diff_container.h
3  * Container for diffed symbols
4  *
5  * @remark Copyright 2005 OProfile authors
6  * @remark Read the file COPYING
7  *
8  * @author Philippe Elie
9  * @author John Levon
10  */
11 
12 #ifndef DIFF_CONTAINER_H
13 #define DIFF_CONTAINER_H
14 
15 #include "profile_container.h"
16 
17 
18 /**
19  * Store two profiles for diffing.
20  */
21 class diff_container : noncopyable {
22 public:
23 	/// populate the collection of diffed symbols
24 	diff_container(profile_container const & pc1,
25 	               profile_container const & pc2);
26 
~diff_container()27 	~diff_container() {}
28 
29 	/// return a collection of diffed symbols
30 	diff_collection const
31 		get_symbols(profile_container::symbol_choice & choice) const;
32 
33 	/// total count for 'new' profile
34 	count_array_t const samples_count() const;
35 
36 private:
37 	/// first profile
38 	profile_container const & pc1;
39 
40 	/// second profile
41 	profile_container const & pc2;
42 
43 	/// samples count for pc1
44 	count_array_t total1;
45 
46 	/// samples count for pc2
47 	count_array_t total2;
48 };
49 
50 #endif /* !DIFF_CONTAINER_H */
51