| /** |
| * @file symbol_sort.h |
| * Sorting symbols |
| * |
| * @remark Copyright 2002, 2003 OProfile authors |
| * @remark Read the file COPYING |
| * |
| * @author Philippe Elie |
| * @author John Levon |
| */ |
| |
| #ifndef SYMBOL_SORT_H |
| #define SYMBOL_SORT_H |
| |
| #include "symbol.h" |
| |
| #include <vector> |
| #include <string> |
| |
| struct sort_options { |
| enum sort_order { |
| // order give sort order if caller doesn't specify one |
| first, |
| sample = first, |
| image, |
| app_name, |
| symbol, |
| debug, |
| vma, |
| last |
| }; |
| |
| sort_options() {} |
| |
| void add_sort_option(std::string const & name); |
| void add_sort_option(sort_order order); |
| |
| /** |
| * Sort the given container by the given criteria. |
| */ |
| void sort(symbol_collection & syms, bool reverse_sort, |
| bool long_filenames) const; |
| |
| /** |
| * Sort the given container by the given criteria. |
| */ |
| void sort(diff_collection & syms, bool reverse_sort, |
| bool long_filenames) const; |
| |
| std::vector<sort_order> options; |
| }; |
| |
| #endif // SYMBOL_SORT_H |