aboutsummaryrefslogtreecommitdiffstats
path: root/sources/shiboken6/libshiboken/sbkcontainer.cpp
blob: 7de1f03e69fd589d16ad1225522ca2920e914a06 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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