IMP logo
IMP Reference Guide  2.16.0
The Integrative Modeling Platform
types.h
Go to the documentation of this file.
1 /**
2  * \file IMP/types.h \brief Basic types used by IMP.
3  *
4  * Copyright 2007-2021 IMP Inventors. All rights reserved.
5  *
6  */
7 
8 #ifndef IMPKERNEL_TYPES_H
9 #define IMPKERNEL_TYPES_H
10 
11 #include <IMP/kernel_config.h>
12 #include "value_macros.h"
13 #include "object_macros.h"
14 #include <IMP/hash.h>
15 #include <IMP/nullptr.h>
16 
17 // IMPKERNEL_BEGIN_NAMESPACE
18 namespace IMP {
19 //! Basic floating-point value (could be float, double...)
20 typedef double Float;
21 
22 //! A pair representing a function value with its first derivative
23 typedef std::pair<double, double> DerivativePair;
25 
26 //! A generic pair of floats
27 typedef std::pair<double, double> FloatPair;
29 
30 //! A pair representing the allowed range for a Float attribute
31 typedef std::pair<Float, Float> FloatRange;
33 
34 //! Basic integer value
35 typedef int Int;
36 
37 typedef std::pair<Int, Int> IntRange;
39 
40 typedef std::pair<Int, Int> IntPair;
42 
43 //! Basic string value
44 typedef std::string String;
45 
46 //! Standard way to pass a bunch of Float values
48 //! Standard way to pass a bunch of Int values
50 //! Standard way to pass a bunch of String values
52 
53 //! Standard way to pass a bunch of Floats values
55 //! Standard way to pass a bunch of Ints values
57 //! Standard way to pass a bunch of Strings values
59 
60 class Object;
61 //! A list of objects
63 }
64 // IMPKERNEL_END_NAMESPACE
65 
66 #endif /* IMPKERNEL_TYPES_H */
Helper macros for implementing IMP Objects.
Helper functions for implementing hashes.
std::pair< double, double > FloatPair
A generic pair of floats.
Definition: types.h:27
std::pair< Float, Float > FloatRange
A pair representing the allowed range for a Float attribute.
Definition: types.h:31
#define IMP_BUILTIN_VALUES(Name, PluralName)
Definition: value_macros.h:27
A more IMP-like version of the std::vector.
Definition: Vector.h:40
Provide a nullptr keyword analog.
Common base class for heavy weight IMP objects.
Definition: Object.h:106
std::pair< double, double > DerivativePair
A pair representing a function value with its first derivative.
Definition: types.h:23
#define IMP_OBJECTS(Name, PluralName)
Define the types for storing lists of object pointers.
Definition: object_macros.h:44
double Float
Basic floating-point value (could be float, double...)
Definition: types.h:20
Macros to help in implementing Value objects.
int Int
Basic integer value.
Definition: types.h:35
std::string String
Basic string value.
Definition: types.h:44