18cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd/**
28cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * @file symbol_functors.cpp
38cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * Functors for symbol/sample comparison
48cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd *
58cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * @remark Copyright 2002 OProfile authors
68cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * @remark Read the file COPYING
78cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd *
88cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * @author Philippe Elie
98cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * @author John Levon
108cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd */
118cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd
128cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd#include "symbol_functors.h"
138cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd
148cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Doddbool less_symbol::operator()(symbol_entry const & lhs,
158cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd			     symbol_entry const & rhs) const
168cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd{
178cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd	if (lhs.image_name != rhs.image_name)
188cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd		return lhs.image_name < rhs.image_name;
198cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd
208cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd	if (lhs.app_name != rhs.app_name)
218cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd		return lhs.app_name < rhs.app_name;
228cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd
238cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd	if (lhs.name != rhs.name)
248cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd		return lhs.name < rhs.name;
258cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd
268cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd	if (lhs.sample.vma != rhs.sample.vma)
278cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd		return lhs.sample.vma < rhs.sample.vma;
288cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd
298cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd	return lhs.size < rhs.size;
308cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd}
31