| /* Distributed under the OSI-approved BSD 3-Clause License.  See accompanying | 
 |    file LICENSE.rst or https://cmake.org/licensing for details.  */ | 
 | #pragma once | 
 |  | 
 | #include "cmConfigure.h" // IWYU pragma: keep | 
 |  | 
 | #include <memory> | 
 | #include <set> | 
 | #include <string> | 
 | #include <utility> | 
 | #include <vector> | 
 |  | 
 | #include "cmAlgorithms.h" | 
 | #include "cmPolicies.h" | 
 |  | 
 | class cmFileSet; | 
 | class cmGlobalGenerator; | 
 | class cmMakefile; | 
 | class cmTarget; | 
 | class cmTest; | 
 |  | 
 | namespace cmDebugger { | 
 | class cmDebuggerStackFrame; | 
 | class cmDebuggerVariables; | 
 | class cmDebuggerVariablesManager; | 
 | } | 
 |  | 
 | template <typename T> | 
 | class BT; | 
 |  | 
 | namespace cmDebugger { | 
 |  | 
 | class cmDebuggerVariablesHelper | 
 | { | 
 |   cmDebuggerVariablesHelper() = default; | 
 |  | 
 | public: | 
 |   static std::shared_ptr<cmDebuggerVariables> Create( | 
 |     std::shared_ptr<cmDebuggerVariablesManager> const& variablesManager, | 
 |     std::string const& name, bool supportsVariableType, | 
 |     cmPolicies::PolicyMap const& policyMap); | 
 |  | 
 |   static std::shared_ptr<cmDebuggerVariables> CreateIfAny( | 
 |     std::shared_ptr<cmDebuggerVariablesManager> const& variablesManager, | 
 |     std::string const& name, bool supportsVariableType, | 
 |     std::vector<std::pair<std::string, std::string>> const& list); | 
 |  | 
 |   static std::shared_ptr<cmDebuggerVariables> CreateIfAny( | 
 |     std::shared_ptr<cmDebuggerVariablesManager> const& variablesManager, | 
 |     std::string const& name, bool supportsVariableType, | 
 |     cmBTStringRange entries); | 
 |  | 
 |   static std::shared_ptr<cmDebuggerVariables> CreateIfAny( | 
 |     std::shared_ptr<cmDebuggerVariablesManager> const& variablesManager, | 
 |     std::string const& name, bool supportsVariableType, | 
 |     std::set<std::string> const& values); | 
 |  | 
 |   static std::shared_ptr<cmDebuggerVariables> CreateIfAny( | 
 |     std::shared_ptr<cmDebuggerVariablesManager> const& variablesManager, | 
 |     std::string const& name, bool supportsVariableType, | 
 |     std::vector<std::string> const& values); | 
 |  | 
 |   static std::shared_ptr<cmDebuggerVariables> CreateIfAny( | 
 |     std::shared_ptr<cmDebuggerVariablesManager> const& variablesManager, | 
 |     std::string const& name, bool supportsVariableType, | 
 |     std::vector<BT<std::string>> const& list); | 
 |  | 
 |   static std::shared_ptr<cmDebuggerVariables> CreateIfAny( | 
 |     std::shared_ptr<cmDebuggerVariablesManager> const& variablesManager, | 
 |     std::string const& name, bool supportsVariableType, cmFileSet* fileSet); | 
 |  | 
 |   static std::shared_ptr<cmDebuggerVariables> CreateIfAny( | 
 |     std::shared_ptr<cmDebuggerVariablesManager> const& variablesManager, | 
 |     std::string const& name, bool supportsVariableType, | 
 |     std::vector<cmFileSet*> const& fileSets); | 
 |  | 
 |   static std::shared_ptr<cmDebuggerVariables> CreateIfAny( | 
 |     std::shared_ptr<cmDebuggerVariablesManager> const& variablesManager, | 
 |     std::string const& name, bool supportsVariableType, cmTest* test); | 
 |  | 
 |   static std::shared_ptr<cmDebuggerVariables> CreateIfAny( | 
 |     std::shared_ptr<cmDebuggerVariablesManager> const& variablesManager, | 
 |     std::string const& name, bool supportsVariableType, | 
 |     std::vector<cmTest*> const& tests); | 
 |  | 
 |   static std::shared_ptr<cmDebuggerVariables> CreateIfAny( | 
 |     std::shared_ptr<cmDebuggerVariablesManager> const& variablesManager, | 
 |     std::string const& name, bool supportsVariableType, | 
 |     std::vector<cmTarget*> const& targets); | 
 |  | 
 |   static std::shared_ptr<cmDebuggerVariables> Create( | 
 |     std::shared_ptr<cmDebuggerVariablesManager> const& variablesManager, | 
 |     std::string const& name, bool supportsVariableType, | 
 |     std::shared_ptr<cmDebuggerStackFrame> const& frame); | 
 |  | 
 |   static std::shared_ptr<cmDebuggerVariables> CreateIfAny( | 
 |     std::shared_ptr<cmDebuggerVariablesManager> const& variablesManager, | 
 |     std::string const& name, bool supportsVariableType, cmMakefile* mf); | 
 |  | 
 |   static std::shared_ptr<cmDebuggerVariables> CreateIfAny( | 
 |     std::shared_ptr<cmDebuggerVariablesManager> const& variablesManager, | 
 |     std::string const& name, bool supportsVariableType, | 
 |     cmGlobalGenerator* gen); | 
 | }; | 
 |  | 
 | } // namespace cmDebugger |