Please explain with examples when to use std::logical_not and when std::not1!
According to documentation, the former is a "unary function object class" while the latter "constructs a unary function object". So at the end of the day both construct a unary function object, don't they?