kim-api-v2  2.0.0+912e79a.GNU
An Application Programming Interface (API) for the Knowledgebase of Interatomic Models (KIM).
KIM_ComputeArgumentName.hpp
Go to the documentation of this file.
1 //
2 // CDDL HEADER START
3 //
4 // The contents of this file are subject to the terms of the Common Development
5 // and Distribution License Version 1.0 (the "License").
6 //
7 // You can obtain a copy of the license at
8 // http://www.opensource.org/licenses/CDDL-1.0. See the License for the
9 // specific language governing permissions and limitations under the License.
10 //
11 // When distributing Covered Code, include this CDDL HEADER in each file and
12 // include the License file in a prominent location with the name LICENSE.CDDL.
13 // If applicable, add the following below this CDDL HEADER, with the fields
14 // enclosed by brackets "[]" replaced with your own identifying information:
15 //
16 // Portions Copyright (c) [yyyy] [name of copyright owner]. All rights reserved.
17 //
18 // CDDL HEADER END
19 //
20 
21 //
22 // Copyright (c) 2016--2019, Regents of the University of Minnesota.
23 // All rights reserved.
24 //
25 // Contributors:
26 // Ryan S. Elliott
27 //
28 
29 //
30 // Release: This file is part of the kim-api-v2-2.0.0 package.
31 //
32 
33 
34 #ifndef KIM_COMPUTE_ARGUMENT_NAME_HPP_
35 #define KIM_COMPUTE_ARGUMENT_NAME_HPP_
36 
37 #include <string>
38 
39 namespace KIM
40 {
41 // Forward declaration
42 class DataType;
43 
55 {
56  public:
68 
73 
79  ComputeArgumentName(int const id);
80 
89  ComputeArgumentName(std::string const & str);
90 
100  bool Known() const;
101 
110  bool operator==(ComputeArgumentName const & rhs) const;
111 
120  bool operator!=(ComputeArgumentName const & rhs) const;
121 
133  std::string const & ToString() const;
134 }; // class ComputeArgumentName
135 
139 namespace COMPUTE_ARGUMENT_NAME
140 {
151 
162 
173 
182 extern ComputeArgumentName const coordinates;
183 
193 
203 
214 
224 
235 
236 
247 void GetNumberOfComputeArgumentNames(int * const numberOfComputeArgumentNames);
248 
264 int GetComputeArgumentName(int const index,
265  ComputeArgumentName * const computeArgumentName);
266 
279 int GetComputeArgumentDataType(ComputeArgumentName const computeArgumentName,
280  DataType * const dataType);
281 
286 {
292  ComputeArgumentName const & b) const
293  {
295  }
296 }; // struct Comparator
297 } // namespace COMPUTE_ARGUMENT_NAME
298 } // namespace KIM
299 
300 #endif // KIM_COMPUTE_ARGUMENT_NAME_HPP_
Structure provided for use with std::map.
An Extensible Enumeration for the ComputeArgumentName&#39;s supported by the KIM API. ...
std::string const & ToString() const
Converts the object to a string.
ComputeArgumentName const partialParticleEnergy
The standard partialParticleEnergy argument.
bool Known() const
Determines if the object is a quantity known to the KIM API.
ComputeArgumentName const partialVirial
The standard partialVirial argument.
int computeArgumentNameID
Integer identifying the specific ComputeArgumentName represented.
bool operator()(ComputeArgumentName const &a, ComputeArgumentName const &b) const
Provides an (logically unmeaningful) ordering for ComputeArgumentsName objects so that they can be st...
ComputeArgumentName()
Create an uninitialized ComputeArgumentName object.
void GetNumberOfComputeArgumentNames(int *const numberOfComputeArgumentNames)
Get the number of standard ComputeArgumentName&#39;s defined by the KIM API.
ComputeArgumentName const coordinates
The standard coordinates argument.
int GetComputeArgumentName(int const index, ComputeArgumentName *const computeArgumentName)
Get the identity of each defined standard ComputeArgumentName.
bool operator==(ComputeArgumentName const &rhs) const
Compares ComputeArgumentName objects for equality.
ComputeArgumentName const partialEnergy
The standard partialEnergy argument.
ComputeArgumentName const particleSpeciesCodes
The standard particleSpeciesCodes argument.
ComputeArgumentName const numberOfParticles
The standard numberOfParticles argument.
ComputeArgumentName const partialParticleVirial
The standard partialParticleVirial argument.
int GetComputeArgumentDataType(ComputeArgumentName const computeArgumentName, DataType *const dataType)
Get the DataType of each defined standard ComputeArgumentName.
An Extensible Enumeration for the DataType&#39;s supported by the KIM API.
ComputeArgumentName const particleContributing
The standard particleContributing argument.
ComputeArgumentName const partialForces
The standard partialForces argument.
bool operator!=(ComputeArgumentName const &rhs) const
Compares ComputeArgumentName objects for inequality.