Teuchos - Trilinos Tools Package  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Teuchos_SystemInformation.hpp
Go to the documentation of this file.
1 // @HEADER
2 // *****************************************************************************
3 // Teuchos: Common Tools Package
4 //
5 // Copyright 2004 NTESS and the Teuchos contributors.
6 // SPDX-License-Identifier: BSD-3-Clause
7 // *****************************************************************************
8 // @HEADER
9 
10 #ifndef TEUCHOS_SYSTEMINFORMATION_HPP
11 #define TEUCHOS_SYSTEMINFORMATION_HPP
12 
26 
27 #include <map>
28 #include <string>
29 
30 namespace Teuchos::SystemInformation {
31 
33 bool commandIsAvailable(const std::string &command);
34 
36 std::string runCommandAndCaptureOutput(const std::string &command);
37 
38 enum RegistrationResult { REGISTERED, ALREADY_PRESENT, FAILURE };
39 
41 RegistrationResult registerEnvironmentVariable(const std::string &variableName);
42 
45 void registerAllPrefixedVariables(const std::string &prefix);
46 
48 RegistrationResult
49 registerCommand(const std::string &commandLabel,
50  const std::string &commandToRunAndCapture = "",
51  const std::string &commandToCheckForExistence = "");
52 
54 void initializeCollection();
55 
57 std::map<std::string, std::string> collectSystemInformation();
58 
59 } // namespace Teuchos::SystemInformation
60 
61 #endif