diff options
Diffstat (limited to 'sources/shiboken6/tests/libminimal/listuser.cpp')
-rw-r--r-- | sources/shiboken6/tests/libminimal/listuser.cpp | 143 |
1 files changed, 76 insertions, 67 deletions
diff --git a/sources/shiboken6/tests/libminimal/listuser.cpp b/sources/shiboken6/tests/libminimal/listuser.cpp index 4ce00f39c..93c399542 100644 --- a/sources/shiboken6/tests/libminimal/listuser.cpp +++ b/sources/shiboken6/tests/libminimal/listuser.cpp @@ -1,55 +1,35 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the test suite of Qt for Python. -** -** $QT_BEGIN_LICENSE:GPL-EXCEPT$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3 as published by the Free Software -** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ +// Copyright (C) 2016 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 -#include <numeric> -#include <cstdlib> #include "listuser.h" -std::list<int> -ListUser::createIntList(int num) +#include <algorithm> +#include <cstdlib> +#include <numeric> + +std::list<int> ListUser::createIntList(int num) { - std::list<int> retval; - for (int i = 0; i < num; ++i) - retval.push_back(i); + std::list<int> retval(num); + std::iota(retval.begin(), retval.end(), 0); return retval; } -int -ListUser::sumIntList(std::list<int> intList) +int ListUser::sumIntList(std::list<int> intList) { - int total = 0; - for (std::list<int>::iterator iter = intList.begin(); iter != intList.end(); iter++) - total += *iter; - return total; + return std::accumulate(intList.begin(), intList.end(), 0); +} + +int ListUser::sumIntListDefaultParamConstRef(const std::list<int> &intList) +{ + return sumIntList(intList); +} + +int ListUser::sumIntListDefaultParam(std::list<int> intList) +{ + return sumIntList(intList); } -std::list<MinBool> -ListUser::createMinBoolList(MinBool mb1, MinBool mb2) +std::list<MinBool> ListUser::createMinBoolList(MinBool mb1, MinBool mb2) { std::list<MinBool> retval; retval.push_back(mb1); @@ -57,17 +37,15 @@ ListUser::createMinBoolList(MinBool mb1, MinBool mb2) return retval; } -MinBool -ListUser::oredMinBoolList(std::list<MinBool> minBoolList) +MinBool ListUser::oredMinBoolList(std::list<MinBool> minBoolList) { MinBool result(false); - for (std::list<MinBool>::iterator iter = minBoolList.begin(); iter != minBoolList.end(); iter++) - result |= *iter; + for (const auto &m : minBoolList) + result |= m; return result; } -std::list<Val> -ListUser::createValList(int num) +std::list<Val> ListUser::createValList(int num) { std::list<Val> retval; for (int i = 0; i < num; ++i) @@ -75,17 +53,14 @@ ListUser::createValList(int num) return retval; } -int -ListUser::sumValList(std::list<Val> valList) +int ListUser::sumValList(std::list<Val> valList) { int total = 0; - for (std::list<Val>::iterator iter = valList.begin(); iter != valList.end(); iter++) - total += iter->valId(); + for (const auto &v : valList) + total += v.valId(); return total; } - -std::list<Obj*> -ListUser::createObjList(Obj* o1, Obj* o2) +std::list<Obj*> ListUser::createObjList(Obj* o1, Obj* o2) { std::list<Obj*> retval; retval.push_back(o1); @@ -93,17 +68,15 @@ ListUser::createObjList(Obj* o1, Obj* o2) return retval; } -int -ListUser::sumObjList(std::list<Obj*> objList) +int ListUser::sumObjList(std::list<Obj*> objList) { int total = 0; - for (std::list<Obj*>::iterator iter = objList.begin(); iter != objList.end(); iter++) - total += (*iter)->objId(); + for (const auto *obj : objList) + total += obj->objId(); return total; } -std::list<std::list<int> > -ListUser::createListOfIntLists(int num) +std::list<std::list<int> > ListUser::createListOfIntLists(int num) { std::list<std::list<int> > retval; for (int i = 0; i < num; ++i) @@ -111,14 +84,50 @@ ListUser::createListOfIntLists(int num) return retval; } -int -ListUser::sumListOfIntLists(std::list<std::list<int> > intListList) +int ListUser::sumListOfIntLists(std::list<std::list<int> > intListList) { int total = 0; - for (std::list<std::list<int> >::iterator it0 = intListList.begin(); it0 != intListList.end(); it0++) { - for (std::list<int>::iterator it1 = (*it0).begin(); it1 != (*it0).end(); it1++) - total += *it1; - } + for (const auto &list : intListList) + total += std::accumulate(list.begin(), list.end(), 0); return total; } +void ListUser::setStdIntList(const std::list<int> &l) +{ + m_stdIntList = l; +} + +std::list<int> &ListUser::getIntList() +{ + return m_stdIntList; +} + +const std::list<int> &ListUser::getConstIntList() const +{ + return m_stdIntList; +} + +int ListUser::modifyIntListPtr(std::list<int> *list) const +{ + const int oldSize = int(list->size()); + list->push_back(42); + return oldSize; +} + +std::list<int> *ListUser::returnIntListByPtr() const +{ + return nullptr; +} + +int ListUser::callReturnIntListByPtr() const +{ + auto *list = returnIntListByPtr(); + return list != nullptr ? int(list->size()) : 0; +} + +int ListUser::modifyDoubleListPtr(std::list<double> *list) const +{ + const int oldSize = int(list->size()); + list->push_back(42); + return oldSize; +} |