operator! added

[SVN r27632]
This commit is contained in:
Peter Dimov committed 2005-03-13 18:27:38 +00:00
1 parent b1f05e7268
commit 7b9a97a758
4 files changed
+74

No files matched your search

+15
View File
@@ -1134,6 +1134,21 @@ template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, c
typedef list9<B1, B2, B3, B4, B5, B6, B7, B8, B9> type;
};
// operator!
struct logical_not
{
template<class V> bool operator()(V const & v) const { return !v; }
};
template<class R, class F, class L>
bind_t< bool, logical_not, list1< bind_t<R, F, L> > >
operator! (bind_t<R, F, L> const & f)
{
typedef list1< bind_t<R, F, L> > list_type;
return bind_t<bool, logical_not, list_type> ( logical_not(), list_type(f) );
}
} // namespace _bi
// visit_each