I've failed to do operator overloading of the methods for logical "and", "or" and "not" (operator&&, operator|| and operator! in C++)  using the MATLAB module we're working on. Other methods works fine, by renaming the C++ member function that we use for the Python interface:

%rename(plus) __add__;  // __add__ is the C++ name of the class

The problem appears to be that "and", "or" and "not" are keywords in C++, so the following does not work:

%rename(and) logic_and;  // logic_and is the C++ name of the class
%rename(or) logic_or;
%rename(not) logic_not;

How can I resolve this and generate wrapper functions named "and", "or" and "not" in MATLAB?