RDKit
Open-source cheminformatics and machine learning.
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 <algorithm>
36 #include <numeric>
37 #include <list>
38 #include <limits>
39 
40 #include <cstring>
42 #include <boost/any.hpp>
43 #include <boost/lexical_cast.hpp>
45 
46 namespace RDKit {
47 
48 namespace detail {
49 // used in various places for computed properties
50 RDKIT_RDGENERAL_EXPORT extern const std::string computedPropName;
51 } // namespace detail
52 
53 namespace common_properties {
54 ///////////////////////////////////////////////////////////////
55 // Molecule Props
56 RDKIT_RDGENERAL_EXPORT extern const std::string _Name; // string
57 RDKIT_RDGENERAL_EXPORT extern const std::string MolFileInfo; // string
58 RDKIT_RDGENERAL_EXPORT extern const std::string MolFileComments; // string
59 RDKIT_RDGENERAL_EXPORT extern const std::string
60  _2DConf; // int (combine into dimension?)
61 RDKIT_RDGENERAL_EXPORT extern const std::string _3DConf; // int
62 RDKIT_RDGENERAL_EXPORT extern const std::string
63  _doIsoSmiles; // int (should probably be removed)
64 RDKIT_RDGENERAL_EXPORT extern const std::string extraRings; // vec<vec<int> >
65 RDKIT_RDGENERAL_EXPORT extern const std::string
66  _smilesAtomOutputOrder; // vec<int> computed
67 RDKIT_RDGENERAL_EXPORT extern const std::string
68  _smilesBondOutputOrder; // vec<int> computed
69 RDKIT_RDGENERAL_EXPORT extern const std::string _StereochemDone; // int
70 RDKIT_RDGENERAL_EXPORT extern const std::string _NeedsQueryScan; // int (bool)
71 RDKIT_RDGENERAL_EXPORT extern const std::string _fragSMARTS; // std::string
72 RDKIT_RDGENERAL_EXPORT extern const std::string
73  maxAttachIdx; // int TemplEnumTools.cpp
74 RDKIT_RDGENERAL_EXPORT extern const std::string origNoImplicit; // int (bool)
75 RDKIT_RDGENERAL_EXPORT extern const std::string
76  ringMembership; //? unused (molopstest.cpp)
77 
78 // Computed Values
79 // ConnectivityDescriptors
80 RDKIT_RDGENERAL_EXPORT extern const std::string
81  _connectivityHKDeltas; // std::vector<double> computed
82 RDKIT_RDGENERAL_EXPORT extern const std::string
83  _connectivityNVals; // std::vector<double> computed
84 
85 RDKIT_RDGENERAL_EXPORT extern const std::string
86  _crippenLogP; // double computed
87 RDKIT_RDGENERAL_EXPORT extern const std::string
88  _crippenLogPContribs; // std::vector<double> computed
89 
90 RDKIT_RDGENERAL_EXPORT extern const std::string _crippenMR; // double computed
91 RDKIT_RDGENERAL_EXPORT extern const std::string
92  _crippenMRContribs; // std::vector<double> computed
93 
94 RDKIT_RDGENERAL_EXPORT extern const std::string _labuteASA; // double computed
95 RDKIT_RDGENERAL_EXPORT extern const std::string
96  _labuteAtomContribs; // vec<double> computed
97 RDKIT_RDGENERAL_EXPORT extern const std::string
98  _labuteAtomHContrib; // double computed
99 
100 RDKIT_RDGENERAL_EXPORT extern const std::string _tpsa; // double computed
101 RDKIT_RDGENERAL_EXPORT extern const std::string
102  _tpsaAtomContribs; // vec<double> computed
103 
104 RDKIT_RDGENERAL_EXPORT extern const std::string
105  numArom; // int computed (only uses in tests?)
106 RDKIT_RDGENERAL_EXPORT extern const std::string
107  _MMFFSanitized; // int (bool) computed
108 
109 RDKIT_RDGENERAL_EXPORT extern const std::string
110  _CrippenLogP; // Unused (in the basement)
111 RDKIT_RDGENERAL_EXPORT extern const std::string
112  _CrippenMR; // Unused (in the basement)
113 RDKIT_RDGENERAL_EXPORT extern const std::string
114  _GasteigerCharge; // used to hold partial charges
115 RDKIT_RDGENERAL_EXPORT extern const std::string
116  _GasteigerHCharge; // used to hold partial charges from implicit Hs
117 
118 ///////////////////////////////////////////////////////////////
119 // Atom Props
120 
121 // Chirality stuff
122 RDKIT_RDGENERAL_EXPORT extern const std::string
123  _BondsPotentialStereo; // int (or bool) COMPUTED
124 RDKIT_RDGENERAL_EXPORT extern const std::string
125  _CIPCode; // std::string COMPUTED
126 RDKIT_RDGENERAL_EXPORT extern const std::string _CIPRank; // int COMPUTED
127 RDKIT_RDGENERAL_EXPORT extern const std::string _ChiralityPossible; // int
128 RDKIT_RDGENERAL_EXPORT extern const std::string
129  _UnknownStereo; // int (bool) AddHs/Chirality
130 RDKIT_RDGENERAL_EXPORT extern const std::string
131  _ringStereoAtoms; // int vect Canon/Chiral/MolHash/MolOps//Renumber//RWmol
132 RDKIT_RDGENERAL_EXPORT extern const std::string
133  _ringStereochemCand; // chirality bool COMPUTED
134 RDKIT_RDGENERAL_EXPORT extern const std::string
135  _ringStereoWarning; // obsolete ?
136 
137 // Smiles parsing
138 RDKIT_RDGENERAL_EXPORT extern const std::string _SmilesStart; // int
139 RDKIT_RDGENERAL_EXPORT extern const std::string
140  _TraversalBondIndexOrder; // ? unused
141 RDKIT_RDGENERAL_EXPORT extern const std::string
142  _TraversalRingClosureBond; // unsigned int
143 RDKIT_RDGENERAL_EXPORT extern const std::string _TraversalStartPoint; // bool
144 RDKIT_RDGENERAL_EXPORT extern const std::string
145  _queryRootAtom; // int SLNParse/SubstructMatch
146 RDKIT_RDGENERAL_EXPORT extern const std::string _hasMassQuery; // atom bool
147 RDKIT_RDGENERAL_EXPORT extern const std::string _protected; // atom int (bool)
148 RDKIT_RDGENERAL_EXPORT extern const std::string
149  _supplementalSmilesLabel; // atom string (SmilesWrite)
150 RDKIT_RDGENERAL_EXPORT extern const std::string
151  _unspecifiedOrder; // atom int (bool) smarts/smiles
152 RDKIT_RDGENERAL_EXPORT extern const std::string
153  _RingClosures; // INT_VECT smarts/smiles/canon
154 RDKIT_RDGENERAL_EXPORT extern const std::string
155  atomLabel; // atom string from CXSMILES
156 
157 // MDL Style Properties (MolFileParser)
158 RDKIT_RDGENERAL_EXPORT extern const std::string molAtomMapNumber; // int
159 RDKIT_RDGENERAL_EXPORT extern const std::string molFileAlias; // string
160 RDKIT_RDGENERAL_EXPORT extern const std::string molFileValue; // string
161 RDKIT_RDGENERAL_EXPORT extern const std::string molInversionFlag; // int
162 RDKIT_RDGENERAL_EXPORT extern const std::string molParity; // int
163 RDKIT_RDGENERAL_EXPORT extern const std::string molStereoCare; // int
164 RDKIT_RDGENERAL_EXPORT extern const std::string molRxnComponent; // int
165 RDKIT_RDGENERAL_EXPORT extern const std::string molRxnRole; // int
166 RDKIT_RDGENERAL_EXPORT extern const std::string molTotValence; // int
167 RDKIT_RDGENERAL_EXPORT extern const std::string molSubstCount; // int
168 RDKIT_RDGENERAL_EXPORT extern const std::string molAttachPoint; // int
169 RDKIT_RDGENERAL_EXPORT extern const std::string molAttachOrder; // int
170 RDKIT_RDGENERAL_EXPORT extern const std::string molAtomClass; // string
171 RDKIT_RDGENERAL_EXPORT extern const std::string molAtomSeqId; // int
172 RDKIT_RDGENERAL_EXPORT extern const std::string molRxnExactChange; // int
173 RDKIT_RDGENERAL_EXPORT extern const std::string molReactStatus; // int
174 RDKIT_RDGENERAL_EXPORT extern const std::string molFileLinkNodes; // string
175 
176 RDKIT_RDGENERAL_EXPORT extern const std::string _MolFileRLabel; // unsigned int
177 RDKIT_RDGENERAL_EXPORT extern const std::string _MolFileChiralFlag; // int
178 RDKIT_RDGENERAL_EXPORT extern const std::string _MolFileAtomQuery; // int
179 RDKIT_RDGENERAL_EXPORT extern const std::string _MolFileBondQuery; // int
180 RDKIT_RDGENERAL_EXPORT extern const std::string _MolFileBondEndPts; // string
181 RDKIT_RDGENERAL_EXPORT extern const std::string _MolFileBondAttach; // string
182 RDKIT_RDGENERAL_EXPORT extern const std::string
183  _MolFileBondType; // unsigned int
184 RDKIT_RDGENERAL_EXPORT extern const std::string
185  _MolFileBondStereo; // unsigned int
186 RDKIT_RDGENERAL_EXPORT extern const std::string
187  _MolFileBondCfg; // unsigned int
188 
189 RDKIT_RDGENERAL_EXPORT extern const std::string
190  MRV_SMA; // smarts string from Marvin
191 RDKIT_RDGENERAL_EXPORT extern const std::string dummyLabel; // atom string
192 
193 // Reaction Information (Reactions.cpp)
194 RDKIT_RDGENERAL_EXPORT extern const std::string _QueryFormalCharge; // int
195 RDKIT_RDGENERAL_EXPORT extern const std::string _QueryHCount; // int
196 RDKIT_RDGENERAL_EXPORT extern const std::string _QueryIsotope; // int
197 RDKIT_RDGENERAL_EXPORT extern const std::string
198  _QueryMass; // int = round(float * 1000)
199 RDKIT_RDGENERAL_EXPORT extern const std::string
200  _ReactionDegreeChanged; // int (bool)
201 RDKIT_RDGENERAL_EXPORT extern const std::string NullBond; // int (bool)
202 RDKIT_RDGENERAL_EXPORT extern const std::string _rgroupAtomMaps;
203 RDKIT_RDGENERAL_EXPORT extern const std::string _rgroupBonds;
204 RDKIT_RDGENERAL_EXPORT extern const std::string reactantAtomIdx;
205 RDKIT_RDGENERAL_EXPORT extern const std::string reactionMapNum;
206 
207 // SLN
208 RDKIT_RDGENERAL_EXPORT extern const std::string
209  _AtomID; // unsigned int SLNParser
210 RDKIT_RDGENERAL_EXPORT extern const std::string
211  _starred; // atom int COMPUTED (SLN)
212 RDKIT_RDGENERAL_EXPORT extern const std::string
213  _SLN_s; // string SLNAttribs (chiral info)
214 RDKIT_RDGENERAL_EXPORT extern const std::string _Unfinished_SLN_; // int (bool)
215 
216 // Smarts Smiles
217 RDKIT_RDGENERAL_EXPORT extern const std::string _brokenChirality; // atom bool
218 RDKIT_RDGENERAL_EXPORT extern const std::string isImplicit; // atom int (bool)
219 RDKIT_RDGENERAL_EXPORT extern const std::string
220  smilesSymbol; // atom string (only used in test?)
221 
222 // Tripos
223 RDKIT_RDGENERAL_EXPORT extern const std::string
224  _TriposAtomType; // string Mol2FileParser
225 // missing defs for _TriposAtomName//_TriposPartialCharge...
226 
227 // molecule drawing
228 RDKIT_RDGENERAL_EXPORT extern const std::string _displayLabel; // string
229 RDKIT_RDGENERAL_EXPORT extern const std::string _displayLabelW; // string
230 
231 ///////////////////////////////////////////////////////////////
232 // misc props
233 RDKIT_RDGENERAL_EXPORT extern const std::string
234  TWOD; // need THREED -> confusing using in TDTMol supplier
235  // converge with _2DConf?
236 RDKIT_RDGENERAL_EXPORT extern const std::string BalabanJ; // mol double
237 RDKIT_RDGENERAL_EXPORT extern const std::string BalanbanJ; // typo!! fix...
238 
239 RDKIT_RDGENERAL_EXPORT extern const std::string Discrims; // FragCatalog Entry
240 // Subgraphs::DiscrimTuple (uint32,uint32,uint32)
241 RDKIT_RDGENERAL_EXPORT extern const std::string
242  DistanceMatrix_Paths; // boost::shared_array<double>
243 // - note, confusing creation of names in
244 // - getDistanceMat
245 RDKIT_RDGENERAL_EXPORT extern const std::string internalRgroupSmiles;
246 RDKIT_RDGENERAL_EXPORT extern const std::string molNote;
247 RDKIT_RDGENERAL_EXPORT extern const std::string atomNote;
248 RDKIT_RDGENERAL_EXPORT extern const std::string bondNote;
249 RDKIT_RDGENERAL_EXPORT extern const std::string _isotopicHs;
250 
251 } // namespace common_properties
252 #ifndef WIN32
253 typedef long long int LONGINT;
254 #else
255 typedef __int64 LONGINT;
256 #endif
257 #ifdef max
258 #undef max // FUCK I hate this nonsense
259 #endif
260 #ifdef min
261 #undef min // FUCK I hate this nonsense
262 #endif
263 
264 RDKIT_RDGENERAL_EXPORT extern const double MAX_DOUBLE;
265 RDKIT_RDGENERAL_EXPORT extern const double EPS_DOUBLE;
266 RDKIT_RDGENERAL_EXPORT extern const double SMALL_DOUBLE;
267 RDKIT_RDGENERAL_EXPORT extern const double MAX_INT;
268 RDKIT_RDGENERAL_EXPORT extern const double MAX_LONGINT;
269 
270 typedef unsigned int UINT;
271 typedef unsigned short USHORT;
272 typedef unsigned char UCHAR;
273 
274 typedef std::vector<int> INT_VECT;
275 typedef INT_VECT::iterator INT_VECT_I;
276 typedef INT_VECT::const_iterator INT_VECT_CI;
277 typedef INT_VECT::reverse_iterator INT_VECT_RI;
278 typedef INT_VECT::const_reverse_iterator INT_VECT_CRI;
279 
280 typedef std::list<int> INT_LIST;
281 typedef INT_LIST::iterator INT_LIST_I;
282 typedef INT_LIST::const_iterator INT_LIST_CI;
283 
284 typedef std::list<INT_VECT> LIST_INT_VECT;
285 typedef LIST_INT_VECT::iterator LIST_INT_VECT_I;
286 typedef LIST_INT_VECT::const_iterator LIST_INT_VECT_CI;
287 
288 typedef std::vector<INT_VECT> VECT_INT_VECT;
289 typedef VECT_INT_VECT::iterator VECT_INT_VECT_I;
290 typedef VECT_INT_VECT::const_iterator VECT_INT_VECT_CI;
291 
292 typedef std::vector<UINT>::const_iterator UINT_VECT_CI;
293 typedef std::vector<UINT> UINT_VECT;
294 
295 typedef std::vector<std::string>::const_iterator STR_VECT_CI;
296 typedef std::vector<std::string>::iterator STR_VECT_I;
297 typedef std::vector<std::string> STR_VECT;
298 
299 typedef std::vector<double> DOUBLE_VECT;
300 typedef DOUBLE_VECT::iterator DOUBLE_VECT_I;
301 typedef DOUBLE_VECT::const_iterator DOUBLE_VECT_CI;
302 typedef std::vector<DOUBLE_VECT> VECT_DOUBLE_VECT;
303 typedef VECT_DOUBLE_VECT::iterator VECT_DOUBLE_VECT_I;
304 typedef VECT_DOUBLE_VECT::const_iterator VECT_DOUBLE_VECT_CI;
305 
306 typedef std::map<std::string, UINT> STR_UINT_MAP;
307 typedef std::map<std::string, UINT>::const_iterator STR_UINT_MAP_CI;
308 
309 typedef std::map<int, INT_VECT> INT_INT_VECT_MAP;
310 typedef INT_INT_VECT_MAP::const_iterator INT_INT_VECT_MAP_CI;
311 
312 typedef std::map<int, int> INT_MAP_INT;
313 typedef INT_MAP_INT::iterator INT_MAP_INT_I;
314 typedef INT_MAP_INT::const_iterator INT_MAP_INT_CI;
315 
316 typedef std::deque<int> INT_DEQUE;
317 typedef INT_DEQUE::iterator INT_DEQUE_I;
318 typedef INT_DEQUE::const_iterator INT_DEQUE_CI;
319 
320 typedef std::map<int, INT_DEQUE> INT_INT_DEQ_MAP;
321 typedef INT_INT_DEQ_MAP::const_iterator INT_INT_DEQ_MAP_CI;
322 
323 typedef std::set<int> INT_SET;
324 typedef INT_SET::iterator INT_SET_I;
325 typedef INT_SET::const_iterator INT_SET_CI;
326 
327 //! functor to compare two doubles with a tolerance
329  public:
330  ltDouble() {}
331  bool operator()(double d1, double d2) const {
332  if (fabs(d1 - d2) < _tol) {
333  return false;
334  } else {
335  return (d1 < d2);
336  }
337  }
338 
339  private:
340  double _tol{1.0e-8};
341 };
342 
343 //! std::map from double to integer.
344 typedef std::map<double, int, ltDouble> DOUBLE_INT_MAP;
345 
346 //! functor for returning the larger of two values
347 template <typename T>
349  T operator()(T arg1, T arg2) { return arg1 > arg2 ? arg1 : arg2; }
350 };
351 
352 //! functor for comparing two strings
354  bool operator()(const char *s1, const char *s2) const {
355  // std::cout << s1 << " " << s2 << " " << strcmp(s1, s2) << "\n";
356 
357  return strcmp(s1, s2) < 0;
358  }
359 };
360 
361 //! \brief calculate the union of two INT_VECTs and put the results in a
362 //! third vector
363 RDKIT_RDGENERAL_EXPORT void Union(const INT_VECT &r1, const INT_VECT &r2,
364  INT_VECT &res);
365 
366 //! \brief calculate the intersection of two INT_VECTs and put the results in a
367 //! third vector
369  INT_VECT &res);
370 
371 //! calculating the union of the INT_VECT's in a VECT_INT_VECT
372 /*!
373  \param rings the INT_VECT's to consider
374  \param res used to return results
375  \param exclude any values in this optional INT_VECT will be excluded
376  from the union.
377 */
379  const INT_VECT *exclude = nullptr);
380 
381 //! given a current combination of numbers change it to the next possible
382 // combination
383 /*!
384  \param comb the <b>sorted</b> vector to consider
385  \param tot the maximum number possible in the vector
386 
387  \return -1 on failure, the index of the last number changed on success.
388  Example:
389  for all combinations 3 of numbers between 0 and tot=5
390  given (0,1,2) the function wil return (0,1,3) etc.
391 
392 
393 */
395 
396 }; // namespace RDKit
397 
398 #endif
Defines the Dict class.
#define RDKIT_RDGENERAL_EXPORT
Definition: export.h:353
RDKIT_RDGENERAL_EXPORT const std::string _ringStereoWarning
RDKIT_RDGENERAL_EXPORT const std::string _MolFileBondQuery
RDKIT_RDGENERAL_EXPORT const std::string smilesSymbol
RDKIT_RDGENERAL_EXPORT const std::string _TriposAtomType
RDKIT_RDGENERAL_EXPORT const std::string _RingClosures
RDKIT_RDGENERAL_EXPORT const std::string bondNote
RDKIT_RDGENERAL_EXPORT const std::string _QueryHCount
RDKIT_RDGENERAL_EXPORT const std::string _labuteASA
RDKIT_RDGENERAL_EXPORT const std::string _supplementalSmilesLabel
RDKIT_RDGENERAL_EXPORT const std::string molStereoCare
RDKIT_RDGENERAL_EXPORT const std::string MolFileComments
RDKIT_RDGENERAL_EXPORT const std::string molInversionFlag
RDKIT_RDGENERAL_EXPORT const std::string DistanceMatrix_Paths
RDKIT_RDGENERAL_EXPORT const std::string maxAttachIdx
RDKIT_RDGENERAL_EXPORT const std::string _3DConf
RDKIT_RDGENERAL_EXPORT const std::string _NeedsQueryScan
RDKIT_RDGENERAL_EXPORT const std::string atomNote
RDKIT_RDGENERAL_EXPORT const std::string reactionMapNum
RDKIT_RDGENERAL_EXPORT const std::string _ChiralityPossible
RDKIT_RDGENERAL_EXPORT const std::string isImplicit
RDKIT_RDGENERAL_EXPORT const std::string _2DConf
RDKIT_RDGENERAL_EXPORT const std::string dummyLabel
RDKIT_RDGENERAL_EXPORT const std::string _doIsoSmiles
RDKIT_RDGENERAL_EXPORT const std::string _QueryMass
RDKIT_RDGENERAL_EXPORT const std::string _QueryFormalCharge
RDKIT_RDGENERAL_EXPORT const std::string _labuteAtomHContrib
RDKIT_RDGENERAL_EXPORT const std::string _connectivityNVals
RDKIT_RDGENERAL_EXPORT const std::string BalanbanJ
RDKIT_RDGENERAL_EXPORT const std::string _unspecifiedOrder
RDKIT_RDGENERAL_EXPORT const std::string _ringStereoAtoms
RDKIT_RDGENERAL_EXPORT const std::string molRxnRole
RDKIT_RDGENERAL_EXPORT const std::string _SmilesStart
RDKIT_RDGENERAL_EXPORT const std::string _MolFileBondType
RDKIT_RDGENERAL_EXPORT const std::string molFileValue
RDKIT_RDGENERAL_EXPORT const std::string _fragSMARTS
RDKIT_RDGENERAL_EXPORT const std::string molTotValence
RDKIT_RDGENERAL_EXPORT const std::string _connectivityHKDeltas
RDKIT_RDGENERAL_EXPORT const std::string _crippenLogP
RDKIT_RDGENERAL_EXPORT const std::string _TraversalStartPoint
RDKIT_RDGENERAL_EXPORT const std::string _GasteigerCharge
RDKIT_RDGENERAL_EXPORT const std::string molAttachPoint
RDKIT_RDGENERAL_EXPORT const std::string molAtomClass
RDKIT_RDGENERAL_EXPORT const std::string _MolFileAtomQuery
RDKIT_RDGENERAL_EXPORT const std::string TWOD
RDKIT_RDGENERAL_EXPORT const std::string _protected
RDKIT_RDGENERAL_EXPORT const std::string _displayLabelW
RDKIT_RDGENERAL_EXPORT const std::string _TraversalRingClosureBond
RDKIT_RDGENERAL_EXPORT const std::string _Unfinished_SLN_
RDKIT_RDGENERAL_EXPORT const std::string _CrippenMR
RDKIT_RDGENERAL_EXPORT const std::string _brokenChirality
RDKIT_RDGENERAL_EXPORT const std::string ringMembership
RDKIT_RDGENERAL_EXPORT const std::string molFileLinkNodes
RDKIT_RDGENERAL_EXPORT const std::string _MolFileRLabel
RDKIT_RDGENERAL_EXPORT const std::string _MolFileBondAttach
RDKIT_RDGENERAL_EXPORT const std::string molRxnComponent
RDKIT_RDGENERAL_EXPORT const std::string MRV_SMA
RDKIT_RDGENERAL_EXPORT const std::string _MolFileBondEndPts
RDKIT_RDGENERAL_EXPORT const std::string _queryRootAtom
RDKIT_RDGENERAL_EXPORT const std::string numArom
RDKIT_RDGENERAL_EXPORT const std::string origNoImplicit
RDKIT_RDGENERAL_EXPORT const std::string _rgroupBonds
RDKIT_RDGENERAL_EXPORT const std::string MolFileInfo
RDKIT_RDGENERAL_EXPORT const std::string molNote
RDKIT_RDGENERAL_EXPORT const std::string _crippenMR
RDKIT_RDGENERAL_EXPORT const std::string _GasteigerHCharge
RDKIT_RDGENERAL_EXPORT const std::string _UnknownStereo
RDKIT_RDGENERAL_EXPORT const std::string _smilesBondOutputOrder
RDKIT_RDGENERAL_EXPORT const std::string _TraversalBondIndexOrder
RDKIT_RDGENERAL_EXPORT const std::string _rgroupAtomMaps
RDKIT_RDGENERAL_EXPORT const std::string _CIPCode
RDKIT_RDGENERAL_EXPORT const std::string _BondsPotentialStereo
RDKIT_RDGENERAL_EXPORT const std::string _Name
RDKIT_RDGENERAL_EXPORT const std::string _QueryIsotope
RDKIT_RDGENERAL_EXPORT const std::string molAtomMapNumber
RDKIT_RDGENERAL_EXPORT const std::string _CIPRank
RDKIT_RDGENERAL_EXPORT const std::string _hasMassQuery
RDKIT_RDGENERAL_EXPORT const std::string _ReactionDegreeChanged
RDKIT_RDGENERAL_EXPORT const std::string molParity
RDKIT_RDGENERAL_EXPORT const std::string _CrippenLogP
RDKIT_RDGENERAL_EXPORT const std::string molRxnExactChange
RDKIT_RDGENERAL_EXPORT const std::string _displayLabel
RDKIT_RDGENERAL_EXPORT const std::string molAttachOrder
RDKIT_RDGENERAL_EXPORT const std::string molAtomSeqId
RDKIT_RDGENERAL_EXPORT const std::string BalabanJ
RDKIT_RDGENERAL_EXPORT const std::string extraRings
RDKIT_RDGENERAL_EXPORT const std::string atomLabel
RDKIT_RDGENERAL_EXPORT const std::string _isotopicHs
RDKIT_RDGENERAL_EXPORT const std::string _MMFFSanitized
RDKIT_RDGENERAL_EXPORT const std::string _labuteAtomContribs
RDKIT_RDGENERAL_EXPORT const std::string _tpsa
RDKIT_RDGENERAL_EXPORT const std::string _MolFileBondStereo
RDKIT_RDGENERAL_EXPORT const std::string molFileAlias
RDKIT_RDGENERAL_EXPORT const std::string _StereochemDone
RDKIT_RDGENERAL_EXPORT const std::string _ringStereochemCand
RDKIT_RDGENERAL_EXPORT const std::string _MolFileBondCfg
RDKIT_RDGENERAL_EXPORT const std::string _SLN_s
RDKIT_RDGENERAL_EXPORT const std::string molSubstCount
RDKIT_RDGENERAL_EXPORT const std::string _MolFileChiralFlag
RDKIT_RDGENERAL_EXPORT const std::string _crippenMRContribs
RDKIT_RDGENERAL_EXPORT const std::string reactantAtomIdx
RDKIT_RDGENERAL_EXPORT const std::string Discrims
RDKIT_RDGENERAL_EXPORT const std::string _smilesAtomOutputOrder
RDKIT_RDGENERAL_EXPORT const std::string _AtomID
RDKIT_RDGENERAL_EXPORT const std::string molReactStatus
RDKIT_RDGENERAL_EXPORT const std::string NullBond
RDKIT_RDGENERAL_EXPORT const std::string internalRgroupSmiles
RDKIT_RDGENERAL_EXPORT const std::string _starred
RDKIT_RDGENERAL_EXPORT const std::string _tpsaAtomContribs
RDKIT_RDGENERAL_EXPORT const std::string _crippenLogPContribs
RDKIT_RDGENERAL_EXPORT const std::string computedPropName
Std stuff.
Definition: Abbreviations.h:18
INT_MAP_INT::iterator INT_MAP_INT_I
Definition: types.h:313
VECT_DOUBLE_VECT::const_iterator VECT_DOUBLE_VECT_CI
Definition: types.h:304
std::list< int > INT_LIST
Definition: types.h:280
std::list< INT_VECT > LIST_INT_VECT
Definition: types.h:284
std::vector< std::string > STR_VECT
Definition: Dict.h:29
std::set< int > INT_SET
Definition: types.h:323
INT_VECT::const_iterator INT_VECT_CI
Definition: types.h:276
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:321
std::vector< int > INT_VECT
Definition: types.h:274
unsigned char UCHAR
Definition: types.h:272
long long int LONGINT
Definition: types.h:253
INT_SET::const_iterator INT_SET_CI
Definition: types.h:325
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:296
INT_VECT::const_reverse_iterator INT_VECT_CRI
Definition: types.h:278
std::map< int, int > INT_MAP_INT
Definition: types.h:312
std::vector< INT_VECT > VECT_INT_VECT
Definition: types.h:288
std::deque< int > INT_DEQUE
Definition: types.h:316
std::map< std::string, UINT > STR_UINT_MAP
Definition: types.h:306
RDKIT_RDGENERAL_EXPORT const double EPS_DOUBLE
std::map< std::string, UINT >::const_iterator STR_UINT_MAP_CI
Definition: types.h:307
std::map< int, INT_VECT > INT_INT_VECT_MAP
Definition: types.h:309
std::map< int, INT_DEQUE > INT_INT_DEQ_MAP
Definition: types.h:320
std::vector< DOUBLE_VECT > VECT_DOUBLE_VECT
Definition: types.h:302
RDKIT_RDGENERAL_EXPORT const double MAX_LONGINT
INT_DEQUE::iterator INT_DEQUE_I
Definition: types.h:317
INT_LIST::const_iterator INT_LIST_CI
Definition: types.h:282
INT_DEQUE::const_iterator INT_DEQUE_CI
Definition: types.h:318
unsigned short USHORT
Definition: types.h:271
INT_INT_VECT_MAP::const_iterator INT_INT_VECT_MAP_CI
Definition: types.h:310
RDKIT_RDGENERAL_EXPORT const double MAX_INT
std::map< double, int, ltDouble > DOUBLE_INT_MAP
std::map from double to integer.
Definition: types.h:344
INT_VECT::reverse_iterator INT_VECT_RI
Definition: types.h:277
INT_SET::iterator INT_SET_I
Definition: types.h:324
std::vector< UINT >::const_iterator UINT_VECT_CI
Definition: types.h:292
INT_MAP_INT::const_iterator INT_MAP_INT_CI
Definition: types.h:314
VECT_DOUBLE_VECT::iterator VECT_DOUBLE_VECT_I
Definition: types.h:303
DOUBLE_VECT::const_iterator DOUBLE_VECT_CI
Definition: types.h:301
unsigned int UINT
Definition: types.h:270
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:281
std::vector< std::string >::const_iterator STR_VECT_CI
Definition: types.h:295
LIST_INT_VECT::const_iterator LIST_INT_VECT_CI
Definition: types.h:286
std::vector< double > DOUBLE_VECT
Definition: types.h:299
VECT_INT_VECT::iterator VECT_INT_VECT_I
Definition: types.h:289
DOUBLE_VECT::iterator DOUBLE_VECT_I
Definition: types.h:300
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:290
LIST_INT_VECT::iterator LIST_INT_VECT_I
Definition: types.h:285
INT_VECT::iterator INT_VECT_I
Definition: types.h:275
std::vector< UINT > UINT_VECT
Definition: types.h:293
functor for comparing two strings
Definition: types.h:353
bool operator()(const char *s1, const char *s2) const
Definition: types.h:354
functor for returning the larger of two values
Definition: types.h:348
T operator()(T arg1, T arg2)
Definition: types.h:349
functor to compare two doubles with a tolerance
Definition: types.h:328
bool operator()(double d1, double d2) const
Definition: types.h:331