IMP logo
IMP Reference Guide  develop.63e71f5352,2022/07/06
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-2022 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 
16 // IMPKERNEL_BEGIN_NAMESPACE
17 namespace IMP {
18 //! Basic floating-point value (could be float, double...)
19 typedef double Float;
20 
21 //! A pair representing a function value with its first derivative
22 typedef std::pair<double, double> DerivativePair;
24 
25 //! A generic pair of floats
26 typedef std::pair<double, double> FloatPair;
28 
29 //! A pair representing the allowed range for a Float attribute
30 typedef std::pair<Float, Float> FloatRange;
32 
33 //! Basic integer value
34 typedef int Int;
35 
36 typedef std::pair<Int, Int> IntRange;
38 
39 typedef std::pair<Int, Int> IntPair;
41 
42 //! Basic string value
43 typedef std::string String;
44 
45 //! Standard way to pass a bunch of Float values
47 //! Standard way to pass a bunch of Int values
49 //! Standard way to pass a bunch of String values
51 
52 //! Standard way to pass a bunch of Floats values
54 //! Standard way to pass a bunch of Ints values
56 //! Standard way to pass a bunch of Strings values
58 
59 class Object;
60 //! A list of objects
62 }
63 // IMPKERNEL_END_NAMESPACE
64 
65 #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:26
std::pair< Float, Float > FloatRange
A pair representing the allowed range for a Float attribute.
Definition: types.h:30
#define IMP_BUILTIN_VALUES(Name, PluralName)
Definition: value_macros.h:27
A more IMP-like version of the std::vector.
Definition: Vector.h:40
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:22
#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:19
Macros to help in implementing Value objects.
int Int
Basic integer value.
Definition: types.h:34
std::string String
Basic string value.
Definition: types.h:43