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_ComputeArgumentName.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_COMPUTE_ARGUMENT_NAME_HPP_
32#define KIM_COMPUTE_ARGUMENT_NAME_HPP_
33
34#include <string>
35
36namespace KIM
37{
38// Forward declaration
39class DataType;
40
52{
53 public:
65
70
76 ComputeArgumentName(int const id);
77
86 ComputeArgumentName(std::string const & str);
87
97 bool Known() const;
98
107 bool operator==(ComputeArgumentName const & rhs) const;
108
117 bool operator!=(ComputeArgumentName const & rhs) const;
118
130 std::string const & ToString() const;
131}; // class ComputeArgumentName
132
136namespace COMPUTE_ARGUMENT_NAME
137{
148
159
170
180
190
200
211
221
232
233
244void GetNumberOfComputeArgumentNames(int * const numberOfComputeArgumentNames);
245
261int GetComputeArgumentName(int const index,
262 ComputeArgumentName * const computeArgumentName);
263
277 DataType * const dataType);
278
283{
289 ComputeArgumentName const & b) const
290 {
292 }
293}; // struct Comparator
294} // namespace COMPUTE_ARGUMENT_NAME
295} // namespace KIM
296
297#endif // KIM_COMPUTE_ARGUMENT_NAME_HPP_
An Extensible Enumeration for the ComputeArgumentName's supported by the KIM API.
ComputeArgumentName(std::string const &str)
Create a ComputeArgumentName object corresponding to the provided string. If the string does not matc...
ComputeArgumentName()
Create an uninitialized ComputeArgumentName object.
std::string const & ToString() const
Converts the object to a string.
bool operator!=(ComputeArgumentName const &rhs) const
Compares ComputeArgumentName objects for inequality.
bool operator==(ComputeArgumentName const &rhs) const
Compares ComputeArgumentName objects for equality.
int computeArgumentNameID
Integer identifying the specific ComputeArgumentName represented.
bool Known() const
Determines if the object is a quantity known to the KIM API.
ComputeArgumentName(int const id)
Create a ComputeArgumentName object with the specified id.
An Extensible Enumeration for the DataType's supported by the KIM API.
void GetNumberOfComputeArgumentNames(int *const numberOfComputeArgumentNames)
Get the number of standard ComputeArgumentName's defined by the KIM API.
int GetComputeArgumentDataType(ComputeArgumentName const computeArgumentName, DataType *const dataType)
Get the DataType of each defined standard ComputeArgumentName.
ComputeArgumentName const partialParticleEnergy
The standard partialParticleEnergy argument.
ComputeArgumentName const coordinates
The standard coordinates argument.
ComputeArgumentName const numberOfParticles
The standard numberOfParticles argument.
ComputeArgumentName const particleSpeciesCodes
The standard particleSpeciesCodes argument.
ComputeArgumentName const partialEnergy
The standard partialEnergy argument.
int GetComputeArgumentName(int const index, ComputeArgumentName *const computeArgumentName)
Get the identity of each defined standard ComputeArgumentName.
ComputeArgumentName const partialParticleVirial
The standard partialParticleVirial argument.
ComputeArgumentName const partialForces
The standard partialForces argument.
ComputeArgumentName const particleContributing
The standard particleContributing argument.
ComputeArgumentName const partialVirial
The standard partialVirial argument.
Structure provided for use with std::map.
bool operator()(ComputeArgumentName const &a, ComputeArgumentName const &b) const
Provides an (logically unmeaningful) ordering for ComputeArgumentsName objects so that they can be st...