Invariant.h File Reference
`#include <assert.h>`
`#include <string>`
`#include <iostream>`
`#include <stdexcept>`
`#include <RDGeneral/RDLog.h>`

Go to the source code of this file.

## Classes

class | Invar::Invariant

## Namespaces

| Invar

## Macros

#define | INVARIANT_EXCEPTION_METHOD 1
#define | ASSERT_INVARIANT(expr, mess) assert( expr )
#define | CHECK_INVARIANT(expr, mess)
#define | PRECONDITION(expr, mess)
#define | POSTCONDITION(expr, mess)
#define | UNDER_CONSTRUCTION(fn)
#define | RANGE_CHECK(lo, x, hi)
#define | TEST_ASSERT(expr)

## Functions

std::ostream & | Invar::operator<< (std::ostream &s, const Invariant &inv)

## Macro Definition Documentation

#define ASSERT_INVARIANT | ( |  | expr,
|  |  | mess
| ) |  | assert( expr )

Definition at line 105 of file Invariant.h.

#define CHECK_INVARIANT | ( |  | expr,
|  |  | mess
| ) |  |

Value:
if ( !(expr) ) {\
Invar::Invariant inv( "Invariant Violation", mess, \
#expr, __FILE__, __LINE__ ); \
BOOST_LOG(rdErrorLog) << "\n\n****\n" << inv << "****\n\n"; throw inv; }
BOOST_LOG
#define BOOST_LOG(__arg__)
Definition: RDLog.h:42
rdErrorLog
boost::logging::rdLogger * rdErrorLog

Definition at line 114 of file Invariant.h.

Referenced by RDKit::SLNParse::addBranchToMol(), RDKit::appendPackedIntToStream(), RDDataManip::MetricMatrixCalc< vectType, entryType >::calcMetricMatrix(), DistGeom::ChiralSet::ChiralSet(), RDKit::SLNParse::closeRingBond(), RDKit::countSwapsToInterconvert(), RDNumeric::SymmMatrix< TYPE >::getCol(), RDCatalog::HierarchCatalog< entryType, paramType, orderType >::getEntriesOfOrder(), RDNumeric::SymmMatrix< TYPE >::getRow(), RDPickers::MaxMinPicker::lazyPick(), BFGSOpt::minimize(), RDNumeric::multiply(), RDNumeric::SquareMatrix< double >::operator*=(), RDNumeric::SymmMatrix< TYPE >::operator*=(), RDNumeric::SymmMatrix< TYPE >::operator+=(), RDNumeric::SymmMatrix< TYPE >::operator-=(), RDPickers::MaxMinPicker::pick(), DistGeom::BoundsMatrix::setLowerBound(), DistGeom::BoundsMatrix::setUpperBound(), and RDNumeric::SymmMatrix< TYPE >::transpose().

#define INVARIANT_EXCEPTION_METHOD 1

Definition at line 26 of file Invariant.h.

#define POSTCONDITION | ( |  | expr,
|  |  | mess
| ) |  |

Value:
if ( !(expr) ) { \
Invar::Invariant inv( "Post-condition Violation", mess, \
#expr, __FILE__, __LINE__ );\
BOOST_LOG(rdErrorLog) << "\n\n****\n" << inv << "****\n\n"; throw inv; }
BOOST_LOG
#define BOOST_LOG(__arg__)
Definition: RDLog.h:42
rdErrorLog
boost::logging::rdLogger * rdErrorLog

Definition at line 124 of file Invariant.h.

Referenced by RDKit::PeriodicTable::getAtomicNumber(), RDGeom::Point3D::getPerpendicular(), and PySequenceHolder< T >::operator[]().

#define PRECONDITION | ( |  | expr,
|  |  | mess
| ) |  |

Value:
if ( !(expr) ) {\
Invar::Invariant inv( "Pre-condition Violation", mess, \
#expr, __FILE__, __LINE__ ); \
BOOST_LOG(rdErrorLog) << "\n\n****\n" << inv << "****\n\n"; throw inv; }
BOOST_LOG
#define BOOST_LOG(__arg__)
Definition: RDLog.h:42
rdErrorLog
boost::logging::rdLogger * rdErrorLog

Definition at line 119 of file Invariant.h.

Referenced by RDKit::SLNParse::addAtomToMol(), RDKit::SLNParse::addBranchToMol(), RDCatalog::HierarchCatalog< entryType, paramType, orderType >::addEntry(), RDNumeric::Vector< TYPE >::assign(), RDNumeric::Matrix< double >::assign(), SmilesParseOps::CleanupAfterParseError(), RDKit::SmilesWriter::close(), RDKit::SDWriter::close(), RDKit::TDTWriter::close(), RDKit::PDBWriter::close(), RDKit::SLNParse::closeRingBond(), RDKit::countSwapsToInterconvert(), RDGeom::PointND::directionVector(), RDNumeric::Vector< TYPE >::dotProduct(), RDKit::Drawing::DrawingToCairo(), RDKit::MolDraw2Dwx::drawPolygon(), RDKit::SmilesWriter::flush(), RDKit::SDWriter::flush(), RDKit::TDTWriter::flush(), RDKit::PDBWriter::flush(), DistGeom::FourthDimContrib::FourthDimContrib(), RDKit::MolAlign::MolHistogram::get(), RDKit::PeriodicTable::getAbundanceForIsotope(), RDKit::RecursiveStructureQuery::getAtIdx(), RDKit::PeriodicTable::getAtomicWeight(), RDNumeric::Matrix< double >::getCol(), RDKit::MolAlign::LAP::getCost(), RDKit::PeriodicTable::getDefaultValence(), RDKit::PeriodicTable::getElementSymbol(), RDDepict::EmbeddedFrag::GetEmbeddedAtom(), DistGeom::FourthDimContrib::getEnergy(), DistGeom::FourthDimContrib::getGrad(), RDFeatures::ImplicitFeature< FAMILYMARKER, TYPEMARKER, LOCTYPE >::getLoc(), RDKit::PeriodicTable::getMassForIsotope(), RDKit::PeriodicTable::getMostCommonIsotope(), RDKit::PeriodicTable::getMostCommonIsotopeMass(), RDKit::PeriodicTable::getNouterElecs(), RDKit::Bond::getProp(), RDKit::PeriodicTable::getRb0(), RDKit::PeriodicTable::getRcovalent(), RDNumeric::Matrix< double >::getRow(), RDKit::MolAlign::LAP::getRowSol(), RDKit::PeriodicTable::getRvdw(), RDNumeric::Vector< TYPE >::getVal(), RDNumeric::Matrix< double >::getVal(), RDKit::PeriodicTable::getValenceList(), BFGSOpt::linearSearch(), BFGSOpt::minimize(), RDKit::PeriodicTable::moreElectroNegative(), RDGeom::UniformGrid3D::operator&(), RDKit::Canon::SpecialChiralityAtomCompareFunctor::operator()(), RDKit::Canon::SpecialSymmetryAtomCompareFunctor::operator()(), RDKit::Canon::AtomCompareFunctor::operator()(), RDKit::Canon::ChiralAtomCompareFunctor::operator()(), RDNumeric::Vector< TYPE >::operator+=(), RDNumeric::Matrix< double >::operator+=(), RDNumeric::Vector< TYPE >::operator-=(), RDNumeric::Matrix< double >::operator-=(), RDGeom::Point3D::operator[](), RDNumeric::Vector< TYPE >::operator[](), RDGeom::Point2D::operator[](), Rankers::rankVect(), RDCatalog::Catalog< entryType, orderType >::setCatalogParams(), RDKit::MMFF::MMFFMolProperties::setMMFFDielectricConstant(), RDKit::MMFF::MMFFMolProperties::setMMFFVariant(), RDNumeric::Vector< TYPE >::setVal(), RDNumeric::Matrix< double >::setVal(), RDKit::SLNParse::startMol(), RDCatalog::HierarchCatalog< entryType, paramType, orderType >::toStream(), RDNumeric::Matrix< double >::transpose(), and Queries::Query< int, TargetPtr, needsConversion >::TypeConvert().

#define RANGE_CHECK | ( |  | lo,
|  |  | x,
|  |  | hi
| ) |  |

Value:
if ( (lo)>(hi) || (x)<(lo) || (x)>(hi) ) {\
std::stringstream errstr;\
errstr << lo << " <= " << x <<" <= "<<hi;\
Invar::Invariant inv( "Range Error", #x, errstr.str().c_str(), __FILE__, __LINE__ );\
BOOST_LOG(rdErrorLog) << "\n\n****\n" << inv << "****\n\n"; throw inv; }
BOOST_LOG
#define BOOST_LOG(__arg__)
Definition: RDLog.h:42
rdErrorLog
boost::logging::rdLogger * rdErrorLog

Definition at line 133 of file Invariant.h.

Referenced by RDCatalog::HierarchCatalog< entryType, paramType, orderType >::addEdge(), RDCatalog::HierarchCatalog< entryType, paramType, orderType >::getEntryWithBitId(), RDCatalog::HierarchCatalog< entryType, paramType, orderType >::getEntryWithIdx(), RDCatalog::HierarchCatalog< entryType, paramType, orderType >::getIdOfEntryWithBitId(), DistGeom::BoundsMatrix::getLowerBound(), RDKit::MMFF::MMFFMolProperties::getMMFFAtomType(), RDKit::MMFF::MMFFMolProperties::getMMFFFormalCharge(), RDKit::MMFF::MMFFMolProperties::getMMFFPartialCharge(), DistGeom::BoundsMatrix::getUpperBound(), RDNumeric::SymmMatrix< TYPE >::getVal(), DistGeom::BoundsMatrix::setLowerBound(), DistGeom::BoundsMatrix::setUpperBound(), and RDNumeric::SymmMatrix< TYPE >::setVal().

#define TEST_ASSERT | ( |  | expr | ) |

Value:
if ( !(expr) ) {\
Invar::Invariant inv( "Test Assert", "Expression Failed: ", \
#expr, __FILE__, __LINE__ ); \
BOOST_LOG(rdErrorLog) << "\n\n****\n" << inv << "****\n\n"; throw inv; }
BOOST_LOG
#define BOOST_LOG(__arg__)
Definition: RDLog.h:42
rdErrorLog
boost::logging::rdLogger * rdErrorLog

Definition at line 139 of file Invariant.h.

Referenced by boost_adaptbx::python::streambuf::streambuf().

#define UNDER_CONSTRUCTION | ( |  | fn | ) |

Value:
Invar::Invariant inv( "Incomplete Code", \
"This routine is still under development", fn, __FILE__, __LINE__ ); \
BOOST_LOG(rdErrorLog) << "\n\n****\n" << inv << "****\n\n"; throw inv;
BOOST_LOG
#define BOOST_LOG(__arg__)
Definition: RDLog.h:42
Invar::Invariant
Definition: Invariant.h:42
rdErrorLog
boost::logging::rdLogger * rdErrorLog

Definition at line 129 of file Invariant.h.