diff options
Diffstat (limited to 'sources/shiboken6/libshiboken/sbkcontainer.cpp')
-rw-r--r-- | sources/shiboken6/libshiboken/sbkcontainer.cpp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/sources/shiboken6/libshiboken/sbkcontainer.cpp b/sources/shiboken6/libshiboken/sbkcontainer.cpp new file mode 100644 index 000000000..7de1f03e6 --- /dev/null +++ b/sources/shiboken6/libshiboken/sbkcontainer.cpp @@ -0,0 +1,19 @@ +// Copyright (C) 2021 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +#include "sbkcontainer.h" +#include "sbkstaticstrings.h" +#include "autodecref.h" + +namespace Shiboken +{ +bool isOpaqueContainer(PyObject *o) +{ + if (!o) + return false; + Shiboken::AutoDecRef tpDict(PepType_GetDict(o->ob_type)); + return o != nullptr && o != Py_None + && PyDict_Contains(tpDict.object(), Shiboken::PyMagicName::opaque_container()) == 1; + +} +} // Shiboken |