Home | History | Annotate | Download | only in libpp
      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 
     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