unary_function жəне
binary_function объектілерінің өздеріне сəйкес
ұрпақтары болып табылатын
unary_negate жəне
binary_negate сияқты
функционалдық объектілері сипатталған. Бұл кластар конструктордың
параметрі ретінде қажетті тип предикаты болып табылатын объектіні
қабылдайды:
template class unary_negate: public unary_function Predicate::argument_type, bool> { public: explicit unary_negate(const Predicate& pred); bool operator() (const typename Predicate::argument_type& x) const; }; Мысалдағы
() операциясы предикаттың инверсиясын (терістеуін)
қайтарады.
not1 жəне
not2 предикатты қабылдайтын жəне функционалдық
объектіні қайтаратын функциялардың шаблондары ретінде анықталған:
template unary_negate
not1(const Predicate& pred); template binary_negate
not2(const Predicate& pred); Байланыстырғыштар Бинарлы предикаттардың көмегімен əртүрлі екі объектіні салыстыруға
болады. Көбінесе объектіні басқа объектімен емес, тұрақтымен салысты-
ру қажет етіледі. Осы мақсатта дəл сол предикатты қолдану үшін оның екі
аргументінің біреуін тұрақтымен байланыстыру керек. Ол үшін нақты мəнмен
бинарлы функцияның бірінші жəне екінші аргументтерін байланыстыруға
мүмкіндік беретін сəйкесінше
bindlst жəне
bind2nd байланыстырғыштары
қолданылады.
367 Байланыстырғыштар стандартты кітапханада бірінші параметр ретінде екі
аргументі бар