new_canon.h File Reference
`#include <RDGeneral/hanoiSort.h>`
`#include <GraphMol/ROMol.h>`
`#include <GraphMol/RingInfo.h>`
`#include <boost/cstdint.hpp>`
`#include <boost/foreach.hpp>`
`#include <boost/dynamic_bitset.hpp>`
`#include <cstring>`
`#include <iostream>`
`#include <cassert>`
`#include <vector>`

Go to the source code of this file.

## Classes

struct | RDKit::Canon::bondholder
struct | RDKit::Canon::canon_atom
class | RDKit::Canon::SpecialChiralityAtomCompareFunctor
class | RDKit::Canon::SpecialSymmetryAtomCompareFunctor
class | RDKit::Canon::AtomCompareFunctor
class | RDKit::Canon::ChiralAtomCompareFunctor

## Namespaces

| RDKit
| Includes a bunch of functionality for handling Atom and Bond queries.
| RDKit::Canon

## Functions

void | RDKit::Canon::updateAtomNeighborIndex (canon_atom *atoms, std::vector< bondholder > &nbrs)
void | RDKit::Canon::updateAtomNeighborNumSwaps (canon_atom *atoms, std::vector< bondholder > &nbrs, unsigned int atomIdx, std::vector< std::pair< unsigned int, unsigned int > > &result)
template<typename CompareFunc >
void | RDKit::Canon::RefinePartitions (const ROMol &mol, canon_atom *atoms, CompareFunc compar, int mode, int *order, int *count, int &activeset, int *next, int *changed, char *touchedPartitions)
template<typename CompareFunc >
void | RDKit::Canon::BreakTies (const ROMol &mol, canon_atom *atoms, CompareFunc compar, int mode, int *order, int *count, int &activeset, int *next, int *changed, char *touchedPartitions)
void | RDKit::Canon::CreateSinglePartition (unsigned int nAtoms, int *order, int *count, canon_atom *atoms)
void | RDKit::Canon::ActivatePartitions (unsigned int nAtoms, int *order, int *count, int &activeset, int *next, int *changed)
void | RDKit::Canon::rankMolAtoms (const ROMol &mol, std::vector< unsigned int > &res, bool breakTies=true, bool includeChirality=true, bool includeIsotopes=true)
void | RDKit::Canon::rankFragmentAtoms (const ROMol &mol, std::vector< unsigned int > &res, const boost::dynamic_bitset<> &atomsInPlay, const boost::dynamic_bitset<> &bondsInPlay, const std::vector< std::string > *atomSymbols=NULL, bool breakTies=true, bool includeChirality=true, bool includeIsotopes=true)
void | RDKit::Canon::chiralRankMolAtoms (const ROMol &mol, std::vector< unsigned int > &res)
void | RDKit::Canon::initCanonAtoms (const ROMol &mol, std::vector< Canon::canon_atom > &atoms, bool includeChirality=true)

## Variables

const unsigned int | RDKit::Canon::ATNUM_CLASS_OFFSET =10000