16#ifndef _USE_MATH_DEFINES
17#define _USE_MATH_DEFINES
18#define _DEFINED_USE_MATH_DEFINES
22#ifdef _DEFINED_USE_MATH_DEFINES
23#undef _DEFINED_USE_MATH_DEFINES
24#undef _USE_MATH_DEFINES
44#include <boost/lexical_cast.hpp>
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";
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";
69 "_BondsPotentialStereo";
71inline constexpr std::string_view
_CIPCode =
"_CIPCode";
72inline constexpr std::string_view
_CIPRank =
"_CIPRank";
76 "_CanonicalRankingNumber";
79inline constexpr std::string_view
_CrippenMR =
"_CrippenMR";
82inline constexpr std::string_view
MRV_SMA =
"MRV SMA";
92inline constexpr std::string_view
_Name =
"_Name";
95 "_NonExplicit3DChirality";
99inline constexpr std::string_view
_QueryMass =
"_QueryMass";
101 "_ReactionDegreeChanged";
107inline constexpr std::string_view
_SLN_s =
"_SLN_s";
111 "_TraversalBondIndexOrder";
113 "_TraversalRingClosureBond";
119 "_connectivityHKDeltas";
142 "_smilesAtomOutputOrder";
144 "_smilesBondOutputOrder";
145inline constexpr std::string_view
_starred =
"_starred";
147 "_supplementalSmilesLabel";
148inline constexpr std::string_view
_tpsa =
"_tpsa";
164inline constexpr std::string_view
molParity =
"molParity";
170inline constexpr std::string_view
numArom =
"numArom";
173inline constexpr std::string_view
atomLabel =
"atomLabel";
181 "molAttachOrderTemplate";
191inline constexpr std::string_view
molNote =
"molNote";
192inline constexpr std::string_view
atomNote =
"atomNote";
193inline constexpr std::string_view
bondNote =
"bondNote";
197 "_QueryAtomGenericLabel";
249typedef std::vector<std::string>
STR_VECT;
284 if (fabs(d1 - d2) < _tol) {
301 T
operator()(T arg1, T arg2) {
return arg1 > arg2 ? arg1 : arg2; }
307 return strcmp(s1, s2) < 0;
#define RDKIT_RDGENERAL_EXPORT
constexpr std::string_view molNote
constexpr std::string_view _ringStereoOtherAtom
constexpr std::string_view molRxnRole
constexpr std::string_view _labuteASA
constexpr std::string_view _3DConf
constexpr std::string_view _fragSMARTS
constexpr std::string_view _mesoOtherAtom
constexpr std::string_view OxidationNumber
constexpr std::string_view _labuteAtomContribs
constexpr std::string_view _CrippenMR
constexpr std::string_view _queryRootAtom
constexpr std::string_view _MolFileBondType
constexpr std::string_view _smilesBondOutputOrder
constexpr std::string_view _AtomID
constexpr std::string_view _brokenChirality
constexpr std::string_view _rgroupAtomMaps
constexpr std::string_view atomNote
constexpr std::string_view _QueryHCount
constexpr std::string_view _crippenLogPContribs
constexpr std::string_view _ringStereoWarning
constexpr std::string_view numArom
constexpr std::string_view internalRgroupSmiles
constexpr std::string_view _CIPNeighborOrder
constexpr std::string_view _SLN_s
constexpr std::string_view DistanceMatrix_Paths
constexpr std::string_view _CanonicalRankingNumber
constexpr std::string_view _rgroupBonds
constexpr std::string_view _TraversalBondIndexOrder
constexpr std::string_view _supplementalSmilesLabel
constexpr std::string_view BalanbanJ
constexpr std::string_view _ChiralAtomRank
constexpr std::string_view _unspecifiedOrder
constexpr std::string_view _MolFileAtomQuery
constexpr std::string_view _2DConf
constexpr std::string_view atomLabel
constexpr std::string_view _GasteigerHCharge
constexpr std::string_view reactionMapNum
constexpr std::string_view _displayLabel
constexpr std::string_view molRxnExactChange
constexpr std::string_view _fromAttachPoint
constexpr std::string_view _crippenLogP
constexpr std::string_view _rgroupTargetBonds
constexpr std::string_view reactantIdx
constexpr std::string_view _CIPComputed
constexpr std::string_view _CIPCode
constexpr std::string_view molParity
constexpr std::string_view molFileValue
constexpr std::string_view isImplicit
constexpr std::string_view _starred
constexpr std::string_view molAtomSeqName
constexpr std::string_view _BondsPotentialStereo
constexpr std::string_view _ReactionDegreeChanged
constexpr std::string_view MRV_SMA
constexpr std::string_view _SmilesStart
constexpr std::string_view templateNames
constexpr std::string_view _MolFileBondStereo
constexpr std::string_view molAttachOrder
constexpr std::string_view _protected
constexpr std::string_view _tpsa
constexpr std::string_view bondNote
constexpr std::string_view _hasMassQuery
constexpr std::string_view _TraversalRingClosureBond
constexpr std::string_view _tpsaAtomContribs
constexpr std::string_view _TriposAtomType
constexpr std::string_view BalabanJ
constexpr std::string_view _ringStereoAtoms
constexpr std::string_view _displayLabelW
constexpr std::string_view _rgroupTargetAtoms
constexpr std::string_view _ringStereochemCand
constexpr std::string_view _RingClosures
constexpr std::string_view _GasteigerCharge
constexpr std::string_view dummyLabel
constexpr std::string_view _NeedsQueryScan
constexpr std::string_view TWOD
constexpr std::string_view extraRings
constexpr std::string_view _CIPRank
constexpr std::string_view natReplace
constexpr std::string_view molReactStatus
constexpr std::string_view MolFileInfo
constexpr std::string_view MolFileComments
constexpr std::string_view molAttachPoint
constexpr std::string_view molFileLinkNodes
constexpr std::string_view _ChiralityPossible
constexpr std::string_view _CrippenLogP
constexpr std::string_view _QueryAtomGenericLabel
constexpr std::string_view molAtomClass
constexpr std::string_view molInversionFlag
constexpr std::string_view _StereochemDone
constexpr std::string_view NullBond
constexpr std::string_view _UnknownStereo
constexpr std::string_view _chiralPermutation
constexpr std::string_view _MolFileBondAttach
constexpr std::string_view _MolFileBondEndPts
constexpr std::string_view _isotopicHs
constexpr std::string_view _crippenMRContribs
constexpr std::string_view _NonExplicit3DChirality
constexpr std::string_view _connectivityHKDeltas
constexpr std::string_view molFileAlias
constexpr std::string_view molRingBondCount
constexpr std::string_view _doIsoSmiles
constexpr std::string_view ringMembership
constexpr std::string_view _QueryIsotope
constexpr std::string_view molAttachOrderTemplate
constexpr std::string_view Discrims
constexpr std::string_view _crippenMR
constexpr std::string_view _QueryFormalCharge
constexpr std::string_view _Name
constexpr std::string_view maxAttachIdx
constexpr std::string_view reactantAtomIdx
constexpr std::string_view _MolFileBondCfg
constexpr std::string_view _MolFileChiralFlag
constexpr std::string_view _smilesAtomOutputOrder
constexpr std::string_view _Unfinished_SLN_
constexpr std::string_view molAtomSeqId
constexpr std::string_view molAtomMapNumber
constexpr std::string_view molTotValence
constexpr std::string_view _TraversalStartPoint
constexpr std::string_view _labuteAtomHContrib
constexpr std::string_view smilesSymbol
constexpr std::string_view _MolFileRLabel
constexpr std::string_view _MMFFSanitized
constexpr std::string_view _MolFileBondQuery
constexpr std::string_view molSubstCount
constexpr std::string_view _QueryMass
constexpr std::string_view _connectivityNVals
constexpr std::string_view molStereoCare
constexpr std::string_view molRxnComponent
constexpr std::string_view computedPropName
INT_MAP_INT::iterator INT_MAP_INT_I
VECT_DOUBLE_VECT::const_iterator VECT_DOUBLE_VECT_CI
std::list< int > INT_LIST
std::list< INT_VECT > LIST_INT_VECT
std::vector< std::string > STR_VECT
INT_VECT::const_iterator INT_VECT_CI
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
std::vector< int > INT_VECT
INT_SET::const_iterator INT_SET_CI
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
INT_VECT::const_reverse_iterator INT_VECT_CRI
std::map< int, int > INT_MAP_INT
std::vector< INT_VECT > VECT_INT_VECT
std::deque< int > INT_DEQUE
std::map< std::string, UINT > STR_UINT_MAP
RDKIT_RDGENERAL_EXPORT const double EPS_DOUBLE
std::map< int, INT_VECT > INT_INT_VECT_MAP
std::map< int, INT_DEQUE > INT_INT_DEQ_MAP
std::vector< DOUBLE_VECT > VECT_DOUBLE_VECT
RDKIT_RDGENERAL_EXPORT const double MAX_LONGINT
INT_DEQUE::iterator INT_DEQUE_I
INT_LIST::const_iterator INT_LIST_CI
INT_DEQUE::const_iterator INT_DEQUE_CI
INT_INT_VECT_MAP::const_iterator INT_INT_VECT_MAP_CI
RDKIT_RDGENERAL_EXPORT const double MAX_INT
std::map< double, int, ltDouble > DOUBLE_INT_MAP
std::map from double to integer.
INT_VECT::reverse_iterator INT_VECT_RI
INT_SET::iterator INT_SET_I
std::vector< UINT >::const_iterator UINT_VECT_CI
INT_MAP_INT::const_iterator INT_MAP_INT_CI
VECT_DOUBLE_VECT::iterator VECT_DOUBLE_VECT_I
std::map< std::string, UINT >::const_iterator STR_UINT_MAP_CI
DOUBLE_VECT::const_iterator DOUBLE_VECT_CI
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
std::vector< std::string >::const_iterator STR_VECT_CI
LIST_INT_VECT::const_iterator LIST_INT_VECT_CI
std::vector< double > DOUBLE_VECT
VECT_INT_VECT::iterator VECT_INT_VECT_I
DOUBLE_VECT::iterator DOUBLE_VECT_I
RDKIT_RDGENERAL_EXPORT const double SMALL_DOUBLE
RDKIT_RDGENERAL_EXPORT const double MAX_DOUBLE
VECT_INT_VECT::const_iterator VECT_INT_VECT_CI
LIST_INT_VECT::iterator LIST_INT_VECT_I
INT_VECT::iterator INT_VECT_I
std::vector< UINT > UINT_VECT
functor for comparing two strings
bool operator()(const char *s1, const char *s2) const
functor for returning the larger of two values
T operator()(T arg1, T arg2)
bool operator()(double d1, double d2) const