RDKit
Open-source cheminformatics and machine learning.
Loading...
Searching...
No Matches
types.h
Go to the documentation of this file.
1//
2// Copyright 2001-2021 Greg Landrum and other RDKit contributors
3//
4// @@ All Rights Reserved @@
5// This file is part of the RDKit.
6// The contents are covered by the terms of the BSD license
7// which is included in the file license.txt, found at the root
8// of the RDKit source tree.
9//
10
11#include <RDGeneral/export.h>
12#ifndef RD_TYPES_H
13#define RD_TYPES_H
14
15#ifdef WIN32
16#ifndef _USE_MATH_DEFINES
17#define _USE_MATH_DEFINES
18#define _DEFINED_USE_MATH_DEFINES
19#endif
20#endif
21#include <cmath>
22#ifdef _DEFINED_USE_MATH_DEFINES
23#undef _DEFINED_USE_MATH_DEFINES
24#undef _USE_MATH_DEFINES
25#endif
26
27#include "Invariant.h"
28#include "Dict.h"
29
30#include <vector>
31#include <deque>
32#include <map>
33#include <set>
34#include <string>
35#include <string_view>
36#include <algorithm>
37#include <numeric>
38#include <list>
39#include <limits>
40
41#include <cstring>
42#include <any>
44#include <boost/lexical_cast.hpp>
46
47namespace RDKit {
48
49namespace detail {
50// used in various places for computed properties
51inline constexpr std::string_view computedPropName = "__computedProps";
52} // namespace detail
53
55///////////////////////////////////////////////////////////////
56// Molecule Props
57inline constexpr std::string_view TWOD = "2D";
58inline constexpr std::string_view BalabanJ = "BalabanJ";
59inline constexpr std::string_view BalanbanJ = "BalanbanJ";
60inline constexpr std::string_view Discrims = "Discrims";
61inline constexpr std::string_view DistanceMatrix_Paths = "DistanceMatrix_Paths";
62inline constexpr std::string_view MolFileComments = "MolFileComments";
63inline constexpr std::string_view MolFileInfo = "MolFileInfo";
64inline constexpr std::string_view NullBond = "NullBond";
65inline constexpr std::string_view _2DConf = "_2DConf";
66inline constexpr std::string_view _3DConf = "_3DConf";
67inline constexpr std::string_view _AtomID = "_AtomID";
68inline constexpr std::string_view _BondsPotentialStereo =
69 "_BondsPotentialStereo";
70inline constexpr std::string_view _ChiralAtomRank = "_chiralAtomRank";
71inline constexpr std::string_view _CIPCode = "_CIPCode";
72inline constexpr std::string_view _CIPRank = "_CIPRank";
73inline constexpr std::string_view _CIPComputed = "_CIPComputed";
74inline constexpr std::string_view _CIPNeighborOrder = "_CIPNeighborOrder";
75inline constexpr std::string_view _CanonicalRankingNumber =
76 "_CanonicalRankingNumber";
77inline constexpr std::string_view _ChiralityPossible = "_ChiralityPossible";
78inline constexpr std::string_view _CrippenLogP = "_CrippenLogP";
79inline constexpr std::string_view _CrippenMR = "_CrippenMR";
80inline constexpr std::string_view _MMFFSanitized = "_MMFFSanitized";
81inline constexpr std::string_view _MolFileChiralFlag = "_MolFileChiralFlag";
82inline constexpr std::string_view MRV_SMA = "MRV SMA";
83inline constexpr std::string_view _MolFileRLabel = "_MolFileRLabel";
84inline constexpr std::string_view _MolFileAtomQuery = "_MolFileAtomQuery";
85inline constexpr std::string_view _MolFileBondQuery = "_MolFileBondQuery";
86inline constexpr std::string_view _MolFileBondEndPts = "_MolFileBondEndPts";
87inline constexpr std::string_view _MolFileBondAttach = "_MolFileBondAttach";
88inline constexpr std::string_view _MolFileBondType = "_MolFileBondType";
89inline constexpr std::string_view _MolFileBondStereo = "_MolFileBondStereo";
90inline constexpr std::string_view _MolFileBondCfg = "_MolFileBondCfg";
91
92inline constexpr std::string_view _Name = "_Name";
93inline constexpr std::string_view _NeedsQueryScan = "_NeedsQueryScan";
94inline constexpr std::string_view _NonExplicit3DChirality =
95 "_NonExplicit3DChirality";
96inline constexpr std::string_view _QueryFormalCharge = "_QueryFormalCharge";
97inline constexpr std::string_view _QueryHCount = "_QueryHCount";
98inline constexpr std::string_view _QueryIsotope = "_QueryIsotope";
99inline constexpr std::string_view _QueryMass = "_QueryMass";
100inline constexpr std::string_view _ReactionDegreeChanged =
101 "_ReactionDegreeChanged";
102inline constexpr std::string_view reactantAtomIdx = "react_atom_idx";
103inline constexpr std::string_view reactionMapNum = "old_mapno";
104inline constexpr std::string_view reactantIdx = "react_idx";
105
106inline constexpr std::string_view _RingClosures = "_RingClosures";
107inline constexpr std::string_view _SLN_s = "_SLN_s";
108inline constexpr std::string_view _SmilesStart = "_SmilesStart";
109inline constexpr std::string_view _StereochemDone = "_StereochemDone";
110inline constexpr std::string_view _TraversalBondIndexOrder =
111 "_TraversalBondIndexOrder";
112inline constexpr std::string_view _TraversalRingClosureBond =
113 "_TraversalRingClosureBond";
114inline constexpr std::string_view _TraversalStartPoint = "_TraversalStartPoint";
115inline constexpr std::string_view _TriposAtomType = "_TriposAtomType";
116inline constexpr std::string_view _Unfinished_SLN_ = "_Unfinished_SLN_";
117inline constexpr std::string_view _UnknownStereo = "_UnknownStereo";
118inline constexpr std::string_view _connectivityHKDeltas =
119 "_connectivityHKDeltas";
120inline constexpr std::string_view _connectivityNVals = "_connectivityNVals";
121inline constexpr std::string_view _crippenLogP = "_crippenLogP";
122inline constexpr std::string_view _crippenLogPContribs = "_crippenLogPContribs";
123inline constexpr std::string_view _crippenMR = "_crippenMR";
124inline constexpr std::string_view _crippenMRContribs = "_crippenMRContribs";
125inline constexpr std::string_view _GasteigerCharge = "_GasteigerCharge";
126inline constexpr std::string_view _GasteigerHCharge = "_GasteigerHCharge";
127inline constexpr std::string_view _doIsoSmiles = "_doIsoSmiles";
128inline constexpr std::string_view _fragSMARTS = "_fragSMARTS";
129inline constexpr std::string_view _hasMassQuery = "_hasMassQuery";
130inline constexpr std::string_view _labuteASA = "_labuteASA";
131inline constexpr std::string_view _labuteAtomContribs = "_labuteAtomContribs";
132inline constexpr std::string_view _labuteAtomHContrib = "_labuteAtomHContrib";
133inline constexpr std::string_view _protected = "_protected";
134inline constexpr std::string_view _queryRootAtom = "_queryRootAtom";
135inline constexpr std::string_view _ringStereoAtoms = "_ringStereoAtoms";
136inline constexpr std::string_view _ringStereoWarning = "_ringStereoWarning";
137inline constexpr std::string_view _ringStereochemCand = "_ringStereochemCand";
138inline constexpr std::string_view _ringStereoOtherAtom = "_ringStereoOtherAtom";
139inline constexpr std::string_view _mesoOtherAtom = "_mesoOtherAtom";
140inline constexpr std::string_view _chiralPermutation = "_chiralPermutation";
141inline constexpr std::string_view _smilesAtomOutputOrder =
142 "_smilesAtomOutputOrder";
143inline constexpr std::string_view _smilesBondOutputOrder =
144 "_smilesBondOutputOrder";
145inline constexpr std::string_view _starred = "_starred";
146inline constexpr std::string_view _supplementalSmilesLabel =
147 "_supplementalSmilesLabel";
148inline constexpr std::string_view _tpsa = "_tpsa";
149inline constexpr std::string_view _tpsaAtomContribs = "_tpsaAtomContribs";
150inline constexpr std::string_view _unspecifiedOrder = "_unspecifiedOrder";
151inline constexpr std::string_view _brokenChirality = "_brokenChirality";
152inline constexpr std::string_view _rgroupAtomMaps = "_rgroupAtomMaps";
153inline constexpr std::string_view _rgroupBonds = "_rgroupBonds";
154inline constexpr std::string_view _rgroupTargetAtoms = "_rgroupTargetAtoms";
155inline constexpr std::string_view _rgroupTargetBonds = "_rgroupTargetBonds";
156inline constexpr std::string_view dummyLabel = "dummyLabel";
157inline constexpr std::string_view extraRings = "extraRings";
158inline constexpr std::string_view isImplicit = "isImplicit";
159inline constexpr std::string_view maxAttachIdx = "maxAttachIdx";
160inline constexpr std::string_view molAtomMapNumber = "molAtomMapNumber";
161inline constexpr std::string_view molFileAlias = "molFileAlias";
162inline constexpr std::string_view molFileValue = "molFileValue";
163inline constexpr std::string_view molInversionFlag = "molInversionFlag";
164inline constexpr std::string_view molParity = "molParity";
165inline constexpr std::string_view molStereoCare = "molStereoCare";
166inline constexpr std::string_view molRxnComponent = "molRxnComponent";
167inline constexpr std::string_view molRxnRole = "molRxnRole";
168inline constexpr std::string_view molTotValence = "molTotValence";
169inline constexpr std::string_view molFileLinkNodes = "_molLinkNodes";
170inline constexpr std::string_view numArom = "numArom";
171inline constexpr std::string_view ringMembership = "ringMembership";
172inline constexpr std::string_view smilesSymbol = "smilesSymbol";
173inline constexpr std::string_view atomLabel = "atomLabel";
174inline constexpr std::string_view OxidationNumber = "OxidationNumber";
175inline constexpr std::string_view internalRgroupSmiles = "internalRgroupSmiles";
176inline constexpr std::string_view molRingBondCount = "molRingBondCount";
177inline constexpr std::string_view molSubstCount = "molSubstCount";
178inline constexpr std::string_view molAttachPoint = "molAttchpt";
179inline constexpr std::string_view molAttachOrder = "molAttchord";
180inline constexpr std::string_view molAttachOrderTemplate =
181 "molAttachOrderTemplate";
182inline constexpr std::string_view molAtomClass = "molClass";
183inline constexpr std::string_view molAtomSeqId = "molSeqid";
184inline constexpr std::string_view molAtomSeqName = "molSeqName";
185inline constexpr std::string_view molRxnExactChange = "molRxnExachg";
186inline constexpr std::string_view molReactStatus = "molReactStatus";
187inline constexpr std::string_view _fromAttachPoint = "_fromAttchpt";
188inline constexpr std::string_view natReplace = "natReplace";
189inline constexpr std::string_view templateNames = "templateNames";
190
191inline constexpr std::string_view molNote = "molNote";
192inline constexpr std::string_view atomNote = "atomNote";
193inline constexpr std::string_view bondNote = "bondNote";
194inline constexpr std::string_view _isotopicHs = "_isotopicHs";
195
196inline constexpr std::string_view _QueryAtomGenericLabel =
197 "_QueryAtomGenericLabel";
198
199// molecule drawing
200inline constexpr std::string_view _displayLabel = "_displayLabel";
201inline constexpr std::string_view _displayLabelW = "_displayLabelW";
202
203} // namespace common_properties
204#ifndef WIN32
205typedef long long int LONGINT;
206#else
207typedef __int64 LONGINT;
208#endif
209#ifdef max
210#undef max // FUCK I hate this nonsense
211#endif
212#ifdef min
213#undef min // FUCK I hate this nonsense
214#endif
215
216RDKIT_RDGENERAL_EXPORT extern const double MAX_DOUBLE;
217RDKIT_RDGENERAL_EXPORT extern const double EPS_DOUBLE;
218RDKIT_RDGENERAL_EXPORT extern const double SMALL_DOUBLE;
219RDKIT_RDGENERAL_EXPORT extern const double MAX_INT;
220RDKIT_RDGENERAL_EXPORT extern const double MAX_LONGINT;
221
222typedef unsigned int UINT;
223typedef unsigned short USHORT;
224typedef unsigned char UCHAR;
225
226typedef std::vector<int> INT_VECT;
227typedef INT_VECT::iterator INT_VECT_I;
228typedef INT_VECT::const_iterator INT_VECT_CI;
229typedef INT_VECT::reverse_iterator INT_VECT_RI;
230typedef INT_VECT::const_reverse_iterator INT_VECT_CRI;
231
232typedef std::list<int> INT_LIST;
233typedef INT_LIST::iterator INT_LIST_I;
234typedef INT_LIST::const_iterator INT_LIST_CI;
235
236typedef std::list<INT_VECT> LIST_INT_VECT;
237typedef LIST_INT_VECT::iterator LIST_INT_VECT_I;
238typedef LIST_INT_VECT::const_iterator LIST_INT_VECT_CI;
239
240typedef std::vector<INT_VECT> VECT_INT_VECT;
241typedef VECT_INT_VECT::iterator VECT_INT_VECT_I;
242typedef VECT_INT_VECT::const_iterator VECT_INT_VECT_CI;
243
244typedef std::vector<UINT>::const_iterator UINT_VECT_CI;
245typedef std::vector<UINT> UINT_VECT;
246
247typedef std::vector<std::string>::const_iterator STR_VECT_CI;
248typedef std::vector<std::string>::iterator STR_VECT_I;
249typedef std::vector<std::string> STR_VECT;
250
251typedef std::vector<double> DOUBLE_VECT;
252typedef DOUBLE_VECT::iterator DOUBLE_VECT_I;
253typedef DOUBLE_VECT::const_iterator DOUBLE_VECT_CI;
254typedef std::vector<DOUBLE_VECT> VECT_DOUBLE_VECT;
255typedef VECT_DOUBLE_VECT::iterator VECT_DOUBLE_VECT_I;
256typedef VECT_DOUBLE_VECT::const_iterator VECT_DOUBLE_VECT_CI;
257
258typedef std::map<std::string, UINT> STR_UINT_MAP;
259typedef std::map<std::string, UINT>::const_iterator STR_UINT_MAP_CI;
260
261typedef std::map<int, INT_VECT> INT_INT_VECT_MAP;
262typedef INT_INT_VECT_MAP::const_iterator INT_INT_VECT_MAP_CI;
263
264typedef std::map<int, int> INT_MAP_INT;
265typedef INT_MAP_INT::iterator INT_MAP_INT_I;
266typedef INT_MAP_INT::const_iterator INT_MAP_INT_CI;
267
268typedef std::deque<int> INT_DEQUE;
269typedef INT_DEQUE::iterator INT_DEQUE_I;
270typedef INT_DEQUE::const_iterator INT_DEQUE_CI;
271
272typedef std::map<int, INT_DEQUE> INT_INT_DEQ_MAP;
273typedef INT_INT_DEQ_MAP::const_iterator INT_INT_DEQ_MAP_CI;
274
275typedef std::set<int> INT_SET;
276typedef INT_SET::iterator INT_SET_I;
277typedef INT_SET::const_iterator INT_SET_CI;
278
279//! functor to compare two doubles with a tolerance
281 public:
283 bool operator()(double d1, double d2) const {
284 if (fabs(d1 - d2) < _tol) {
285 return false;
286 } else {
287 return (d1 < d2);
288 }
289 }
290
291 private:
292 double _tol{1.0e-8};
293};
294
295//! std::map from double to integer.
296typedef std::map<double, int, ltDouble> DOUBLE_INT_MAP;
297
298//! functor for returning the larger of two values
299template <typename T>
301 T operator()(T arg1, T arg2) { return arg1 > arg2 ? arg1 : arg2; }
302};
303
304//! functor for comparing two strings
306 bool operator()(const char *s1, const char *s2) const {
307 return strcmp(s1, s2) < 0;
308 }
309};
310
311//! \brief calculate the union of two INT_VECTs and put the results in a
312//! third vector
314 INT_VECT &res);
315
316//! \brief calculate the intersection of two INT_VECTs and put the results in a
317//! third vector
319 INT_VECT &res);
320
321//! calculating the union of the INT_VECT's in a VECT_INT_VECT
322/*!
323 \param rings the INT_VECT's to consider
324 \param res used to return results
325 \param exclude any values in this optional INT_VECT will be excluded
326 from the union.
327*/
329 const INT_VECT *exclude = nullptr);
330
331//! given a current combination of numbers change it to the next possible
332// combination
333/*!
334 \param comb the <b>sorted</b> vector to consider
335 \param tot the maximum number possible in the vector
336
337 \return -1 on failure, the index of the last number changed on success.
338 Example:
339 for all combinations 3 of numbers between 0 and tot=5
340 given (0,1,2) the function wil return (0,1,3) etc.
341
342
343*/
345}; // namespace RDKit
346
347#endif
Defines the Dict class.
#define RDKIT_RDGENERAL_EXPORT
Definition export.h:449
constexpr std::string_view molNote
Definition types.h:191
constexpr std::string_view _ringStereoOtherAtom
Definition types.h:138
constexpr std::string_view molRxnRole
Definition types.h:167
constexpr std::string_view _labuteASA
Definition types.h:130
constexpr std::string_view _3DConf
Definition types.h:66
constexpr std::string_view _fragSMARTS
Definition types.h:128
constexpr std::string_view _mesoOtherAtom
Definition types.h:139
constexpr std::string_view OxidationNumber
Definition types.h:174
constexpr std::string_view _labuteAtomContribs
Definition types.h:131
constexpr std::string_view _CrippenMR
Definition types.h:79
constexpr std::string_view _queryRootAtom
Definition types.h:134
constexpr std::string_view _MolFileBondType
Definition types.h:88
constexpr std::string_view _smilesBondOutputOrder
Definition types.h:143
constexpr std::string_view _AtomID
Definition types.h:67
constexpr std::string_view _brokenChirality
Definition types.h:151
constexpr std::string_view _rgroupAtomMaps
Definition types.h:152
constexpr std::string_view atomNote
Definition types.h:192
constexpr std::string_view _QueryHCount
Definition types.h:97
constexpr std::string_view _crippenLogPContribs
Definition types.h:122
constexpr std::string_view _ringStereoWarning
Definition types.h:136
constexpr std::string_view numArom
Definition types.h:170
constexpr std::string_view internalRgroupSmiles
Definition types.h:175
constexpr std::string_view _CIPNeighborOrder
Definition types.h:74
constexpr std::string_view _SLN_s
Definition types.h:107
constexpr std::string_view DistanceMatrix_Paths
Definition types.h:61
constexpr std::string_view _CanonicalRankingNumber
Definition types.h:75
constexpr std::string_view _rgroupBonds
Definition types.h:153
constexpr std::string_view _TraversalBondIndexOrder
Definition types.h:110
constexpr std::string_view _supplementalSmilesLabel
Definition types.h:146
constexpr std::string_view BalanbanJ
Definition types.h:59
constexpr std::string_view _ChiralAtomRank
Definition types.h:70
constexpr std::string_view _unspecifiedOrder
Definition types.h:150
constexpr std::string_view _MolFileAtomQuery
Definition types.h:84
constexpr std::string_view _2DConf
Definition types.h:65
constexpr std::string_view atomLabel
Definition types.h:173
constexpr std::string_view _GasteigerHCharge
Definition types.h:126
constexpr std::string_view reactionMapNum
Definition types.h:103
constexpr std::string_view _displayLabel
Definition types.h:200
constexpr std::string_view molRxnExactChange
Definition types.h:185
constexpr std::string_view _fromAttachPoint
Definition types.h:187
constexpr std::string_view _crippenLogP
Definition types.h:121
constexpr std::string_view _rgroupTargetBonds
Definition types.h:155
constexpr std::string_view reactantIdx
Definition types.h:104
constexpr std::string_view _CIPComputed
Definition types.h:73
constexpr std::string_view _CIPCode
Definition types.h:71
constexpr std::string_view molParity
Definition types.h:164
constexpr std::string_view molFileValue
Definition types.h:162
constexpr std::string_view isImplicit
Definition types.h:158
constexpr std::string_view _starred
Definition types.h:145
constexpr std::string_view molAtomSeqName
Definition types.h:184
constexpr std::string_view _BondsPotentialStereo
Definition types.h:68
constexpr std::string_view _ReactionDegreeChanged
Definition types.h:100
constexpr std::string_view MRV_SMA
Definition types.h:82
constexpr std::string_view _SmilesStart
Definition types.h:108
constexpr std::string_view templateNames
Definition types.h:189
constexpr std::string_view _MolFileBondStereo
Definition types.h:89
constexpr std::string_view molAttachOrder
Definition types.h:179
constexpr std::string_view _protected
Definition types.h:133
constexpr std::string_view _tpsa
Definition types.h:148
constexpr std::string_view bondNote
Definition types.h:193
constexpr std::string_view _hasMassQuery
Definition types.h:129
constexpr std::string_view _TraversalRingClosureBond
Definition types.h:112
constexpr std::string_view _tpsaAtomContribs
Definition types.h:149
constexpr std::string_view _TriposAtomType
Definition types.h:115
constexpr std::string_view BalabanJ
Definition types.h:58
constexpr std::string_view _ringStereoAtoms
Definition types.h:135
constexpr std::string_view _displayLabelW
Definition types.h:201
constexpr std::string_view _rgroupTargetAtoms
Definition types.h:154
constexpr std::string_view _ringStereochemCand
Definition types.h:137
constexpr std::string_view _RingClosures
Definition types.h:106
constexpr std::string_view _GasteigerCharge
Definition types.h:125
constexpr std::string_view dummyLabel
Definition types.h:156
constexpr std::string_view _NeedsQueryScan
Definition types.h:93
constexpr std::string_view TWOD
Definition types.h:57
constexpr std::string_view extraRings
Definition types.h:157
constexpr std::string_view _CIPRank
Definition types.h:72
constexpr std::string_view natReplace
Definition types.h:188
constexpr std::string_view molReactStatus
Definition types.h:186
constexpr std::string_view MolFileInfo
Definition types.h:63
constexpr std::string_view MolFileComments
Definition types.h:62
constexpr std::string_view molAttachPoint
Definition types.h:178
constexpr std::string_view molFileLinkNodes
Definition types.h:169
constexpr std::string_view _ChiralityPossible
Definition types.h:77
constexpr std::string_view _CrippenLogP
Definition types.h:78
constexpr std::string_view _QueryAtomGenericLabel
Definition types.h:196
constexpr std::string_view molAtomClass
Definition types.h:182
constexpr std::string_view molInversionFlag
Definition types.h:163
constexpr std::string_view _StereochemDone
Definition types.h:109
constexpr std::string_view NullBond
Definition types.h:64
constexpr std::string_view _UnknownStereo
Definition types.h:117
constexpr std::string_view _chiralPermutation
Definition types.h:140
constexpr std::string_view _MolFileBondAttach
Definition types.h:87
constexpr std::string_view _MolFileBondEndPts
Definition types.h:86
constexpr std::string_view _isotopicHs
Definition types.h:194
constexpr std::string_view _crippenMRContribs
Definition types.h:124
constexpr std::string_view _NonExplicit3DChirality
Definition types.h:94
constexpr std::string_view _connectivityHKDeltas
Definition types.h:118
constexpr std::string_view molFileAlias
Definition types.h:161
constexpr std::string_view molRingBondCount
Definition types.h:176
constexpr std::string_view _doIsoSmiles
Definition types.h:127
constexpr std::string_view ringMembership
Definition types.h:171
constexpr std::string_view _QueryIsotope
Definition types.h:98
constexpr std::string_view molAttachOrderTemplate
Definition types.h:180
constexpr std::string_view Discrims
Definition types.h:60
constexpr std::string_view _crippenMR
Definition types.h:123
constexpr std::string_view _QueryFormalCharge
Definition types.h:96
constexpr std::string_view _Name
Definition types.h:92
constexpr std::string_view maxAttachIdx
Definition types.h:159
constexpr std::string_view reactantAtomIdx
Definition types.h:102
constexpr std::string_view _MolFileBondCfg
Definition types.h:90
constexpr std::string_view _MolFileChiralFlag
Definition types.h:81
constexpr std::string_view _smilesAtomOutputOrder
Definition types.h:141
constexpr std::string_view _Unfinished_SLN_
Definition types.h:116
constexpr std::string_view molAtomSeqId
Definition types.h:183
constexpr std::string_view molAtomMapNumber
Definition types.h:160
constexpr std::string_view molTotValence
Definition types.h:168
constexpr std::string_view _TraversalStartPoint
Definition types.h:114
constexpr std::string_view _labuteAtomHContrib
Definition types.h:132
constexpr std::string_view smilesSymbol
Definition types.h:172
constexpr std::string_view _MolFileRLabel
Definition types.h:83
constexpr std::string_view _MMFFSanitized
Definition types.h:80
constexpr std::string_view _MolFileBondQuery
Definition types.h:85
constexpr std::string_view molSubstCount
Definition types.h:177
constexpr std::string_view _QueryMass
Definition types.h:99
constexpr std::string_view _connectivityNVals
Definition types.h:120
constexpr std::string_view molStereoCare
Definition types.h:165
constexpr std::string_view molRxnComponent
Definition types.h:166
constexpr std::string_view computedPropName
Definition types.h:51
Std stuff.
INT_MAP_INT::iterator INT_MAP_INT_I
Definition types.h:265
VECT_DOUBLE_VECT::const_iterator VECT_DOUBLE_VECT_CI
Definition types.h:256
std::list< int > INT_LIST
Definition types.h:232
std::list< INT_VECT > LIST_INT_VECT
Definition types.h:236
std::vector< std::string > STR_VECT
Definition Dict.h:29
std::set< int > INT_SET
Definition types.h:275
INT_VECT::const_iterator INT_VECT_CI
Definition types.h:228
RDKIT_RDGENERAL_EXPORT void Intersect(const INT_VECT &r1, const INT_VECT &r2, INT_VECT &res)
calculate the intersection of two INT_VECTs and put the results in a third vector
INT_INT_DEQ_MAP::const_iterator INT_INT_DEQ_MAP_CI
Definition types.h:273
std::vector< int > INT_VECT
Definition types.h:226
unsigned char UCHAR
Definition types.h:224
long long int LONGINT
Definition types.h:205
INT_SET::const_iterator INT_SET_CI
Definition types.h:277
RDKIT_RDGENERAL_EXPORT int nextCombination(INT_VECT &comb, int tot)
given a current combination of numbers change it to the next possible
std::vector< std::string >::iterator STR_VECT_I
Definition types.h:248
INT_VECT::const_reverse_iterator INT_VECT_CRI
Definition types.h:230
std::map< int, int > INT_MAP_INT
Definition types.h:264
std::vector< INT_VECT > VECT_INT_VECT
Definition types.h:240
std::deque< int > INT_DEQUE
Definition types.h:268
std::map< std::string, UINT > STR_UINT_MAP
Definition types.h:258
RDKIT_RDGENERAL_EXPORT const double EPS_DOUBLE
std::map< int, INT_VECT > INT_INT_VECT_MAP
Definition types.h:261
std::map< int, INT_DEQUE > INT_INT_DEQ_MAP
Definition types.h:272
std::vector< DOUBLE_VECT > VECT_DOUBLE_VECT
Definition types.h:254
RDKIT_RDGENERAL_EXPORT const double MAX_LONGINT
INT_DEQUE::iterator INT_DEQUE_I
Definition types.h:269
INT_LIST::const_iterator INT_LIST_CI
Definition types.h:234
INT_DEQUE::const_iterator INT_DEQUE_CI
Definition types.h:270
unsigned short USHORT
Definition types.h:223
INT_INT_VECT_MAP::const_iterator INT_INT_VECT_MAP_CI
Definition types.h:262
RDKIT_RDGENERAL_EXPORT const double MAX_INT
std::map< double, int, ltDouble > DOUBLE_INT_MAP
std::map from double to integer.
Definition types.h:296
INT_VECT::reverse_iterator INT_VECT_RI
Definition types.h:229
INT_SET::iterator INT_SET_I
Definition types.h:276
std::vector< UINT >::const_iterator UINT_VECT_CI
Definition types.h:244
INT_MAP_INT::const_iterator INT_MAP_INT_CI
Definition types.h:266
VECT_DOUBLE_VECT::iterator VECT_DOUBLE_VECT_I
Definition types.h:255
std::map< std::string, UINT >::const_iterator STR_UINT_MAP_CI
Definition types.h:259
DOUBLE_VECT::const_iterator DOUBLE_VECT_CI
Definition types.h:253
unsigned int UINT
Definition types.h:222
RDKIT_RDGENERAL_EXPORT void Union(const INT_VECT &r1, const INT_VECT &r2, INT_VECT &res)
calculate the union of two INT_VECTs and put the results in a third vector
INT_LIST::iterator INT_LIST_I
Definition types.h:233
std::vector< std::string >::const_iterator STR_VECT_CI
Definition types.h:247
LIST_INT_VECT::const_iterator LIST_INT_VECT_CI
Definition types.h:238
std::vector< double > DOUBLE_VECT
Definition types.h:251
VECT_INT_VECT::iterator VECT_INT_VECT_I
Definition types.h:241
DOUBLE_VECT::iterator DOUBLE_VECT_I
Definition types.h:252
RDKIT_RDGENERAL_EXPORT const double SMALL_DOUBLE
RDKIT_RDGENERAL_EXPORT const double MAX_DOUBLE
VECT_INT_VECT::const_iterator VECT_INT_VECT_CI
Definition types.h:242
LIST_INT_VECT::iterator LIST_INT_VECT_I
Definition types.h:237
INT_VECT::iterator INT_VECT_I
Definition types.h:227
std::vector< UINT > UINT_VECT
Definition types.h:245
functor for comparing two strings
Definition types.h:305
bool operator()(const char *s1, const char *s2) const
Definition types.h:306
functor for returning the larger of two values
Definition types.h:300
T operator()(T arg1, T arg2)
Definition types.h:301
bool operator()(double d1, double d2) const
Definition types.h:283