bonjour,

Dans un template j'aurai voulu définir un pointeur sur un "predicat binaire", j'ai vu qu'il existait un pointer_to_bniary_function dans la STL mais je n'ai pas su trouver comment l'utiliser.

Extrait du template :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
 
template <typename T>
class IRow
{
public:
 
    // etc...
 
    template<class _Predicate>
    typename std::list<T>::const_iterator find(_Predicate);
 
    template<class _BinaryPredicate>
    void sort(_BinaryPredicate)
    {
        __M_sort_pred = __binary_pred;
 
        __M_value_list.sort(__binary_pred);
    }
 
protected:
 
    void _merge(std::list<T> &__list)
    {
        __M_value_list.merge(__list, __M_sort_pred );
    }
 
    _BinaryPredicate __M_sort_pred;
 
    std::list<T> __M_value_list;
};
Mais est-il possible de definir ce type de pointeur dans un template ? Et peut-on l'implémenter par un "pointer_to_binary_function" ?