kim-api-v2  2.0.0+912e79a.GNU
An Application Programming Interface (API) for the Knowledgebase of Interatomic Models (KIM).
KIM_ComputeCallbackName.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_CALLBACK_NAME_HPP_
35 #define KIM_COMPUTE_CALLBACK_NAME_HPP_
36 
37 #include <string>
38 
39 namespace KIM
40 {
52 {
53  public:
65 
70 
76  ComputeCallbackName(int const id);
77 
86  ComputeCallbackName(std::string const & str);
87 
97  bool Known() const;
98 
107  bool operator==(ComputeCallbackName const & rhs) const;
108 
117  bool operator!=(ComputeCallbackName const & rhs) const;
118 
130  std::string const & ToString() const;
131 }; // class ComputeCallbackName
132 
136 namespace COMPUTE_CALLBACK_NAME
137 {
151 
165 
179 
180 
191 void GetNumberOfComputeCallbackNames(int * const numberOfComputeCallbackNames);
192 
208 int GetComputeCallbackName(int const index,
209  ComputeCallbackName * const computeCallbackName);
210 
215 {
221  ComputeCallbackName const & b) const
222  {
224  }
225 }; // struct Comparator
226 } // namespace COMPUTE_CALLBACK_NAME
227 } // namespace KIM
228 
229 #endif // KIM_COMPUTE_CALLBACK_NAME_HPP_
void GetNumberOfComputeCallbackNames(int *const numberOfComputeCallbackNames)
Get the number of standard ComputeCallbackName&#39;s defined by the KIM API.
ComputeCallbackName const GetNeighborList
The standard GetNeighborList callback.
ComputeCallbackName const ProcessD2EDr2Term
The standard ProcessD2EDr2Term callback.
ComputeCallbackName()
Create an uninitialized ComputeCallbackName object.
bool Known() const
Determines if the object is a quantity known to the KIM API.
bool operator!=(ComputeCallbackName const &rhs) const
Compares ComputeCallbackName objects for inequality.
bool operator==(ComputeCallbackName const &rhs) const
Compares ComputeCallbackName objects for equality.
Structure provided for use with std::map.
bool operator()(ComputeCallbackName const &a, ComputeCallbackName const &b) const
Provides an (logically unmeaningful) ordering for ComputeCallbackName objects so that they can be sto...
An Extensible Enumeration for the ComputeCallbackName&#39;s supported by the KIM API. ...
std::string const & ToString() const
Converts the object to a string.
int computeCallbackNameID
Integer identifying the specific ComputeCallbackName represented.
ComputeCallbackName const ProcessDEDrTerm
The standard ProcessDEDrTerm callback.
int GetComputeCallbackName(int const index, ComputeCallbackName *const computeCallbackName)
Get the identity of each defined standard ComputeCallbackName.