при чтении майерса об использовании премущества объекта функции над указателем на функцию. есть пример использования предиката с свойством.
примерно такое
template<typename T>
class GreaterThen : public std::unary_function<T,bool> {
protected:
const T _value;
public:
GreaterThen(T value) : _value(value) {}
bool IsElement(T t) { return t > _value; }
};
значит вопрос таков. в приведённом примере не было сказано об наследуемой структуре
std::unary_function<T,bool>
при просмотре сурса вижу
template <class _Arg, class _Result>
struct unary_function {
typedef _Arg argument_type; ///< @c argument_type is the type of the argument (no surprises here)
typedef _Result result_type; ///< @c result_type is the return type
};
проясните за чем собственно нужно использовать std::unary_function<T,bool> — что оно даёт в принципе ?
Здравствуйте, AI, Вы писали:
AI>проясните за чем собственно нужно использовать std::unary_function<T,bool> — что оно даёт в принципе ?
При написании собственных объектов функций (функторов) необходимо, чтобы в этом объекте были определены типы для аргумента (аргументов) и результата. Когда собственный функтор вы объявляете производным от одного из этих типов, ваш функтор автоматически становится "совместимым" с адаптерами.
... << RSDN@Home 1.1.4 beta 3 rev. 185>>
AI wrote:
[]
> проясните за чем собственно нужно использовать std::unary_function<T,bool> — что оно даёт в принципе ?
http://rsdn.ru/forum/?mid=825530Автор: MaximE
Дата: 27.09.04
--
Maxim YegorushkinPosted via RSDN NNTP Server 1.9 gamma