diff_container.h revision 8cfa702f803c5ef6a2b062a489a1b2cf66b45b5e
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 */
21class diff_container : noncopyable {
22public:
23	/// populate the collection of diffed symbols
24	diff_container(profile_container const & pc1,
25	               profile_container const & pc2);
26
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
36private:
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