kim-api 2.3.0+AppleClang.AppleClang.GNU
An Application Programming Interface (API) for the Knowledgebase of Interatomic Models (KIM).
Loading...
Searching...
No Matches
KIM_ModelComputeArgumentsCreate.hpp
Go to the documentation of this file.
1//
2// KIM-API: An API for interatomic models
3// Copyright (c) 2013--2022, Regents of the University of Minnesota.
4// All rights reserved.
5//
6// Contributors:
7// Ryan S. Elliott
8//
9// SPDX-License-Identifier: LGPL-2.1-or-later
10//
11// This library is free software; you can redistribute it and/or
12// modify it under the terms of the GNU Lesser General Public
13// License as published by the Free Software Foundation; either
14// version 2.1 of the License, or (at your option) any later version.
15//
16// This library is distributed in the hope that it will be useful,
17// but WITHOUT ANY WARRANTY; without even the implied warranty of
18// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
19// Lesser General Public License for more details.
20//
21// You should have received a copy of the GNU Lesser General Public License
22// along with this library; if not, write to the Free Software Foundation,
23// Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
24//
25
26//
27// Release: This file is part of the kim-api-2.3.0 package.
28//
29
30
31#ifndef KIM_MODEL_COMPUTE_ARGUMENTS_CREATE_HPP_
32#define KIM_MODEL_COMPUTE_ARGUMENTS_CREATE_HPP_
33
34#include <sstream>
35#include <string>
36
37namespace KIM
38{
39// Forward declarations
40class LogVerbosity;
41class SupportStatus;
42class ComputeArgumentName;
43class ComputeCallbackName;
44class ModelComputeArgumentsCreateImplementation;
45
46
56{
57 public:
72 int SetArgumentSupportStatus(ComputeArgumentName const computeArgumentName,
73 SupportStatus const supportStatus);
74
89 int SetCallbackSupportStatus(ComputeCallbackName const computeCallbackName,
90 SupportStatus const supportStatus);
91
104 void SetModelBufferPointer(void * const ptr);
105
121 void LogEntry(LogVerbosity const logVerbosity,
122 std::string const & message,
123 int const lineNumber,
124 std::string const & fileName) const;
125
127 void LogEntry(LogVerbosity const logVerbosity,
128 std::stringstream const & message,
129 int const lineNumber,
130 std::string const & fileName) const;
131
143 std::string const & ToString() const;
144
145 private:
146 // do not allow copy constructor or operator=
148 void operator=(ModelComputeArgumentsCreate const &);
149
152
153 ModelComputeArgumentsCreateImplementation * pimpl;
154}; // class ModelComputeArgumentsCreate
155} // namespace KIM
156
157#endif // KIM_MODEL_COMPUTE_ARGUMENTS_CREATE_HPP_
An Extensible Enumeration for the ComputeArgumentName's supported by the KIM API.
An Extensible Enumeration for the ComputeCallbackName's supported by the KIM API.
An Extensible Enumeration for the LogVerbosity's supported by the KIM API.
Provides the interface to a KIM API ComputeArguments object for use by models within their MODEL_ROUT...
void SetModelBufferPointer(void *const ptr)
Set the Model's buffer pointer within the ComputeArguments object.
std::string const & ToString() const
Get a string representing the internal state of the ComputeArguments object.
void LogEntry(LogVerbosity const logVerbosity, std::string const &message, int const lineNumber, std::string const &fileName) const
Write a log entry into the log file.
int SetCallbackSupportStatus(ComputeCallbackName const computeCallbackName, SupportStatus const supportStatus)
Set the SupportStatus of a ComputeCallbackName.
void LogEntry(LogVerbosity const logVerbosity, std::stringstream const &message, int const lineNumber, std::string const &fileName) const
This is an overloaded member function, provided for convenience. It differs from the above function o...
int SetArgumentSupportStatus(ComputeArgumentName const computeArgumentName, SupportStatus const supportStatus)
Set the SupportStatus of a ComputeArgumentName.
An Extensible Enumeration for the SupportStatus's supported by the KIM API.