// Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 #pragma once #include #include #include #include #include #include namespace CPlusPlus { class CPLUSPLUS_EXPORT DeprecatedGenTemplateInstance { public: using Substitution = QList>; public: static FullySpecifiedType instantiate(const Name *className, Symbol *candidate, std::shared_ptr control); private: DeprecatedGenTemplateInstance(std::shared_ptr control, const Substitution &substitution); FullySpecifiedType gen(Symbol *symbol); private: std::shared_ptr _control; const Substitution _substitution; }; } // namespace CPlusPlus