Line data Source code
1 : //
2 : // Author: Vladimir Migashko <migashko@wamba.com>, (C) 2013
3 : //
4 : // Copyright: See COPYING file that comes with this distribution
5 : //
6 :
7 : #ifndef COMPARATORS_POINTER_COMPARE_HPP
8 : #define COMPARATORS_POINTER_COMPARE_HPP
9 :
10 : namespace vset{
11 :
12 : /**
13 : * @brief Обертка компаратора для сравнения указателей или других типов с определенным `operator *`
14 : * @tparam C компаратор
15 : */
16 : template<typename C>
17 : class pointer_compare: C
18 : {
19 : public:
20 : /**
21 : * @brief оператор сравнения
22 : * @tparam D тип исходных данных (например указатель или итератор)
23 : * @param left значение для сравнения
24 : * @param right значение для сравнения
25 : * @return `C::operator()( *left, *right)`
26 : */
27 : template<typename D>
28 7 : bool operator()(const D& left, const D& right) const
29 : {
30 7 : return C::operator()( *left, *right);
31 : }
32 : };
33 :
34 : }
35 :
36 : #endif
|