// Copyright (C) 2022 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 #include "stdsharedptrtestbench.h" #include "smart_integer.h" #include StdSharedPtrTestBench::StdSharedPtrTestBench() = default; StdSharedPtrTestBench::~StdSharedPtrTestBench() = default; std::shared_ptr StdSharedPtrTestBench::createInteger(int v) { auto result = std::make_shared(); result->setValue(v); return result; } std::shared_ptr StdSharedPtrTestBench::createNullInteger() { return {}; } void StdSharedPtrTestBench::printInteger(const std::shared_ptr &p) { std::cerr << __FUNCTION__ << ' '; if (p.get()) std::cerr << p->value(); else std::cerr << "nullptr"; std::cerr << '\n'; } std::shared_ptr StdSharedPtrTestBench::createInt(int v) { return std::make_shared(v); } std::shared_ptr StdSharedPtrTestBench::createNullInt() { return {}; } void StdSharedPtrTestBench::printInt(const std::shared_ptr &p) { std::cerr << __FUNCTION__ << ' '; if (p.get()) std::cerr << *p; else std::cerr << "nullptr"; std::cerr << '\n'; } StdSharedPtrVirtualMethodTester::StdSharedPtrVirtualMethodTester() = default; StdSharedPtrVirtualMethodTester::~StdSharedPtrVirtualMethodTester() = default; std::shared_ptr StdSharedPtrVirtualMethodTester::callModifyInteger(const std::shared_ptr &p) { return doModifyInteger(p); } std::shared_ptr StdSharedPtrVirtualMethodTester::doModifyInteger(std::shared_ptr p) { p->setValue(p->value() + 1); return p; }