aboutsummaryrefslogtreecommitdiff
path: root/libpp/diff_container.h
blob: 14b431d6104dd7ffab07c3de6f312f5444c5c2ed (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
/**
 * @file diff_container.h
 * Container for diffed symbols
 *
 * @remark Copyright 2005 OProfile authors
 * @remark Read the file COPYING
 *
 * @author Philippe Elie
 * @author John Levon
 */

#ifndef DIFF_CONTAINER_H
#define DIFF_CONTAINER_H

#include "profile_container.h"


/**
 * Store two profiles for diffing.
 */
class diff_container : noncopyable {
public:
	/// populate the collection of diffed symbols
	diff_container(profile_container const & pc1,
	               profile_container const & pc2);

	~diff_container() {}
 
	/// return a collection of diffed symbols
	diff_collection const
		get_symbols(profile_container::symbol_choice & choice) const;

	/// total count for 'new' profile
	count_array_t const samples_count() const;

private:
	/// first profile
	profile_container const & pc1;

	/// second profile
	profile_container const & pc2;

	/// samples count for pc1
	count_array_t total1;

	/// samples count for pc2
	count_array_t total2;
};

#endif /* !DIFF_CONTAINER_H */