/**
* @file symbol_functors.h
* Functors for symbol/sample comparison
*
* @remark Copyright 2002, 2003 OProfile authors
* @remark Read the file COPYING
*
* @author Philippe Elie
* @author John Levon
*/
#ifndef SYMBOL_FUNCTORS_H
#define SYMBOL_FUNCTORS_H
#include "symbol.h"
/// compare based on file location
struct less_by_file_loc {
bool operator()(sample_entry const * lhs,
sample_entry const * rhs) const {
return lhs->file_loc < rhs->file_loc;
}
bool operator()(symbol_entry const * lhs,
symbol_entry const * rhs) const {
return lhs->sample.file_loc < rhs->sample.file_loc;
}
};
/// compare based on symbol contents
struct less_symbol {
// implementation compare by id rather than by string
bool operator()(symbol_entry const & lhs,
symbol_entry const & rhs) const;
};
#endif /* SYMBOL_FUNCTORS_H */