diff options
author | Luciano Wolf <luciano.wolf@openbossa.org> | 2009-12-04 13:30:08 -0300 |
---|---|---|
committer | Marcelo Lira <marcelo.lira@openbossa.org> | 2009-12-08 15:07:36 -0300 |
commit | 1803c35baacb454b49c1b7326c531f0c8115b6c7 (patch) | |
tree | 6d64397bef4f33f2de67106f209ab6dbc12d1c92 /cppgenerator.cpp | |
parent | b27f6f347dc19db7706b69c0e7c22e74dea2853b (diff) |
Implement support to slice operator.
Reviewed by Luciano Wolf <luciano.wolf@openbossa.org>
Diffstat (limited to 'cppgenerator.cpp')
-rw-r--r-- | cppgenerator.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/cppgenerator.cpp b/cppgenerator.cpp index bda21c46b..72c4f824c 100644 --- a/cppgenerator.cpp +++ b/cppgenerator.cpp @@ -37,6 +37,8 @@ CppGenerator::CppGenerator() m_sequenceProtocol.insert("__len__", StrPair("PyObject* self", "Py_ssize_t")); m_sequenceProtocol.insert("__getitem__", StrPair("PyObject* self, Py_ssize_t _i", "PyObject*")); m_sequenceProtocol.insert("__setitem__", StrPair("PyObject* self, Py_ssize_t _i, PyObject* _value", "int")); + m_sequenceProtocol.insert("__getslice__", StrPair("PyObject* self, Py_ssize_t _i1, Py_ssize_t _i2", "PyObject*")); + m_sequenceProtocol.insert("__setslice__", StrPair("PyObject* self, Py_ssize_t _i1, Py_ssize_t _i2, PyObject* _value", "int")); m_sequenceProtocol.insert("__contains__", StrPair("PyObject* self, PyObject* _value", "int")); m_sequenceProtocol.insert("__concat__", StrPair("PyObject* self, PyObject* _other", "PyObject*")); } @@ -1494,9 +1496,9 @@ void CppGenerator::writeTypeAsSequenceDefinition(QTextStream& s, const AbstractM << INDENT << "/*sq_concat*/ " << funcs["__concat__"] << ",\n" << INDENT << "/*sq_repeat*/ 0,\n" << INDENT << "/*sq_item*/ " << funcs["__getitem__"] << ",\n" - << INDENT << "/*sq_slice*/ 0,\n" + << INDENT << "/*sq_slice*/ " << funcs["__getslice__"] << ",\n" << INDENT << "/*sq_ass_item*/ " << funcs["__setitem__"] << ",\n" - << INDENT << "/*sq_ass_slice*/ 0,\n" + << INDENT << "/*sq_ass_slice*/ " << funcs["__setslice__"] << ",\n" << INDENT << "/*sq_contains*/ " << funcs["__contains__"] << ",\n" << INDENT << "/*sq_inplace_concat*/ 0,\n" << INDENT << "/*sq_inplace_repeat*/ 0\n" |