Lines 582-671
template <TYPE1,TYPE2*>
Link Here
|
582 |
%End |
582 |
%End |
583 |
}; |
583 |
}; |
584 |
|
584 |
|
585 |
template <TYPE> |
|
|
586 |
%MappedType QSet<TYPE> |
587 |
{ |
588 |
%TypeHeaderCode |
589 |
#include <qset.h> |
590 |
%End |
591 |
|
592 |
%ConvertFromTypeCode |
593 |
// Create the list. |
594 |
PyObject *l; |
595 |
|
596 |
if ((l = PyList_New(sipCpp->size())) == NULL) |
597 |
return NULL; |
598 |
|
599 |
// Set the list elements. |
600 |
QSet<TYPE> set = *sipCpp; |
601 |
int i = 0; |
602 |
foreach (TYPE value, set) |
603 |
{ |
604 |
PyObject *obj = sipConvertFromNewType(&value, sipType_TYPE, sipTransferObj); |
605 |
if (obj == NULL || PyList_SET_ITEM (l, i, obj) < 0) |
606 |
{ |
607 |
Py_DECREF(l); |
608 |
|
609 |
if (obj) |
610 |
Py_DECREF(obj); |
611 |
|
612 |
return NULL; |
613 |
} |
614 |
|
615 |
Py_DECREF(obj); |
616 |
i++; |
617 |
} |
618 |
|
619 |
return l; |
620 |
%End |
621 |
|
622 |
%ConvertToTypeCode |
623 |
// Check the type if that is all that is required. |
624 |
if (sipIsErr == NULL) |
625 |
{ |
626 |
if (!PyList_Check(sipPy)) |
627 |
return 0; |
628 |
} |
629 |
|
630 |
// Check the type if that is all that is required. |
631 |
if (sipIsErr == NULL) |
632 |
{ |
633 |
if (!PyList_Check(sipPy)) |
634 |
return 0; |
635 |
|
636 |
for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i) |
637 |
if (!sipCanConvertToType(PyList_GET_ITEM (sipPy, i), sipType_TYPE, SIP_NOT_NONE)) |
638 |
return 0; |
639 |
} |
640 |
|
641 |
QSet<TYPE> *qs = new QSet<TYPE>; |
642 |
|
643 |
for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i) |
644 |
{ |
645 |
int state; |
646 |
|
647 |
TYPE *t = reinterpret_cast<TYPE *>(sipConvertToType(PyList_GET_ITEM (sipPy, i), sipType_TYPE, sipTransferObj, SIP_NOT_NONE, &state, sipIsErr)); |
648 |
|
649 |
if (*sipIsErr) |
650 |
{ |
651 |
sipReleaseType(t, sipType_TYPE, state); |
652 |
|
653 |
delete qs; |
654 |
return 0; |
655 |
} |
656 |
|
657 |
*qs << *t; |
658 |
|
659 |
sipReleaseType(t, sipType_TYPE, state); |
660 |
} |
661 |
|
662 |
*sipCppPtr = qs; |
663 |
|
664 |
return sipGetState(sipTransferObj); |
665 |
%End |
666 |
}; |
667 |
|
668 |
|
669 |
template <TYPE1,TYPE2> |
585 |
template <TYPE1,TYPE2> |
670 |
%MappedType QPair<TYPE1,TYPE2> |
586 |
%MappedType QPair<TYPE1,TYPE2> |
671 |
{ |
587 |
{ |