| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| |
|
| | #include "CXX/Objects.hxx" |
| | namespace Py { |
| |
|
| | Py_UNICODE unicode_null_string[1] = { 0 }; |
| |
|
| | Type Object::type () const |
| | { |
| | return Type (PyObject_Type (p), true); |
| | } |
| |
|
| | String Object::str () const |
| | { |
| | return String (PyObject_Str (p), true); |
| | } |
| |
|
| | String Object::repr () const |
| | { |
| | return String (PyObject_Repr (p), true); |
| | } |
| |
|
| | std::string Object::as_string() const |
| | { |
| | return static_cast<std::string>(str()); |
| | } |
| |
|
| | List Object::dir () const |
| | { |
| | return List (PyObject_Dir (p), true); |
| | } |
| |
|
| | bool Object::isType (const Type& t) const |
| | { |
| | return type ().ptr() == t.ptr(); |
| | } |
| |
|
| | Char::operator String() const |
| | { |
| | return String(ptr()); |
| | } |
| |
|
| | |
| | |
| | |
| | bool operator==(const Sequence::iterator& left, const Sequence::iterator& right) |
| | { |
| | return left.eql( right ); |
| | } |
| |
|
| | bool operator!=(const Sequence::iterator& left, const Sequence::iterator& right) |
| | { |
| | return left.neq( right ); |
| | } |
| |
|
| | bool operator< (const Sequence::iterator& left, const Sequence::iterator& right) |
| | { |
| | return left.lss( right ); |
| | } |
| |
|
| | bool operator> (const Sequence::iterator& left, const Sequence::iterator& right) |
| | { |
| | return left.gtr( right ); |
| | } |
| |
|
| | bool operator<=(const Sequence::iterator& left, const Sequence::iterator& right) |
| | { |
| | return left.leq( right ); |
| | } |
| |
|
| | bool operator>=(const Sequence::iterator& left, const Sequence::iterator& right) |
| | { |
| | return left.geq( right ); |
| | } |
| |
|
| | |
| | bool operator==(const Sequence::const_iterator& left, const Sequence::const_iterator& right) |
| | { |
| | return left.eql( right ); |
| | } |
| |
|
| | bool operator!=(const Sequence::const_iterator& left, const Sequence::const_iterator& right) |
| | { |
| | return left.neq( right ); |
| | } |
| |
|
| | bool operator< (const Sequence::const_iterator& left, const Sequence::const_iterator& right) |
| | { |
| | return left.lss( right ); |
| | } |
| |
|
| | bool operator> (const Sequence::const_iterator& left, const Sequence::const_iterator& right) |
| | { |
| | return left.gtr( right ); |
| | } |
| |
|
| | bool operator<=(const Sequence::const_iterator& left, const Sequence::const_iterator& right) |
| | { |
| | return left.leq( right ); |
| | } |
| |
|
| | bool operator>=(const Sequence::const_iterator& left, const Sequence::const_iterator& right) |
| | { |
| | return left.geq( right ); |
| | } |
| |
|
| | |
| | bool operator==(const Mapping::iterator& left, const Mapping::iterator& right) |
| | { |
| | return left.eql( right ); |
| | } |
| |
|
| | bool operator!=(const Mapping::iterator& left, const Mapping::iterator& right) |
| | { |
| | return left.neq( right ); |
| | } |
| |
|
| | |
| | bool operator==(const Mapping::const_iterator& left, const Mapping::const_iterator& right) |
| | { |
| | return left.eql( right ); |
| | } |
| |
|
| | bool operator!=(const Mapping::const_iterator& left, const Mapping::const_iterator& right) |
| | { |
| | return left.neq( right ); |
| | } |
| |
|
| | |
| | #ifndef CXX_NO_IOSTREAMS |
| | |
| |
|
| | std::ostream& operator<< (std::ostream& os, const Object& ob) |
| | { |
| | return (os << static_cast<std::string>(ob.str())); |
| | } |
| | #endif |
| |
|
| | } |
| |
|