RDKit
Open-source cheminformatics and machine learning.
RDKit::RecursiveStructureQuery Class Reference

allows use of recursive structure queries (e.g. recursive SMARTS) More...

#include <QueryOps.h>

Inheritance diagram for RDKit::RecursiveStructureQuery:
Queries::SetQuery< int, Atom const *, true > Queries::Query< int, Atom const *, needsConversion >

Public Member Functions

 RecursiveStructureQuery ()
 
 RecursiveStructureQuery (ROMol const *query, unsigned int serialNumber=0)
 initialize from an ROMol pointer More...
 
void setQueryMol (ROMol const *query)
 sets the molecule we'll use recursively More...
 
const ROMolgetQueryMol () const
 returns a pointer to our query molecule More...
 
Queries::Query< int, Atom const *, true > * copy () const
 returns a copy of this query More...
 
unsigned int getSerialNumber () const
 
- Public Member Functions inherited from Queries::SetQuery< int, Atom const *, true >
 SetQuery ()
 
void insert (const int what)
 insert an entry into our set More...
 
void clear ()
 clears our set More...
 
bool Match (const Atom const * what) const
 
Query< int, Atom const *, needsConversion > * copy () const
 
CONTAINER_TYPE::const_iterator beginSet () const
 
CONTAINER_TYPE::const_iterator endSet () const
 
unsigned int size () const
 
std::string getFullDescription () const
 
- Public Member Functions inherited from Queries::Query< int, Atom const *, needsConversion >
 Query ()
 
virtual ~Query ()
 
void setNegation (bool what)
 sets whether or not we are negated More...
 
bool getNegation () const
 returns whether or not we are negated More...
 
void setDescription (const std::string &descr)
 sets our text description More...
 
void setDescription (const char *descr)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
const std::string & getDescription () const
 returns our text description More...
 
void setMatchFunc (bool(*what)(int))
 sets our match function More...
 
void setDataFunc (int(*what)(Atom const *))
 sets our data function More...
 
void addChild (CHILD_TYPE child)
 adds a child to our list of children More...
 
CHILD_VECT_CI beginChildren () const
 returns an iterator for the beginning of our child vector More...
 
CHILD_VECT_CI endChildren () const
 returns an iterator for the end of our child vector More...
 

Static Public Member Functions

static int getAtIdx (Atom const *at)
 returns the index of an atom More...
 

Additional Inherited Members

- Public Types inherited from Queries::SetQuery< int, Atom const *, true >
typedef std::set< int > CONTAINER_TYPE
 
- Public Types inherited from Queries::Query< int, Atom const *, needsConversion >
typedef boost::shared_ptr< Query< int, Atom const *, needsConversion > > CHILD_TYPE
 
typedef std::vector< CHILD_TYPECHILD_VECT
 
typedef CHILD_VECT::iterator CHILD_VECT_I
 
typedef CHILD_VECT::const_iterator CHILD_VECT_CI
 
- Public Attributes inherited from Queries::Query< int, Atom const *, needsConversion >
bool(*)(int) getMatchFunc () const
 returns our match function: More...
 
int(*)(Atom const *) getDataFunc () const
 returns our data function: More...
 
int(* d_dataFunc )(Atom const *)
 
int(* d_dataFuncSameType )(int)
 
- Protected Member Functions inherited from Queries::Query< int, Atom const *, needsConversion >
int TypeConvert (int what, Int2Type< false >) const
 calls our dataFunc (if it's set) on what and returns the result, otherwise returns what More...
 
int TypeConvert (Atom const * what, Int2Type< true >) const
 calls our dataFunc (which must be set) on what and returns the More...
 
- Protected Attributes inherited from Queries::SetQuery< int, Atom const *, true >
CONTAINER_TYPE d_set
 
- Protected Attributes inherited from Queries::Query< int, Atom const *, needsConversion >
int d_val
 
int d_tol
 
std::string d_description
 
CHILD_VECT d_children
 
bool df_negate
 
bool(* d_matchFunc )(int)
 
union {
   MatchFuncArgType(*   d_dataFunc )(DataFuncArgType)
 
   MatchFuncArgType(*   d_dataFuncSameType )(MatchFuncArgType)
 
}; 
 

Detailed Description

allows use of recursive structure queries (e.g. recursive SMARTS)

Definition at line 692 of file QueryOps.h.

Constructor & Destructor Documentation

◆ RecursiveStructureQuery() [1/2]

RDKit::RecursiveStructureQuery::RecursiveStructureQuery ( )
inline

Definition at line 695 of file QueryOps.h.

◆ RecursiveStructureQuery() [2/2]

RDKit::RecursiveStructureQuery::RecursiveStructureQuery ( ROMol const *  query,
unsigned int  serialNumber = 0 
)
inline

initialize from an ROMol pointer

Notes

  • this takes over ownership of the pointer

Definition at line 705 of file QueryOps.h.

Member Function Documentation

◆ copy()

◆ getAtIdx()

static int RDKit::RecursiveStructureQuery::getAtIdx ( Atom const *  at)
inlinestatic

returns the index of an atom

Definition at line 713 of file QueryOps.h.

References RDKit::Atom::getIdx(), and PRECONDITION.

◆ getQueryMol()

const ROMol* RDKit::RecursiveStructureQuery::getQueryMol ( ) const
inline

returns a pointer to our query molecule

Definition at line 725 of file QueryOps.h.

◆ getSerialNumber()

unsigned int RDKit::RecursiveStructureQuery::getSerialNumber ( ) const
inline

Definition at line 741 of file QueryOps.h.

◆ setQueryMol()

void RDKit::RecursiveStructureQuery::setQueryMol ( ROMol const *  query)
inline

sets the molecule we'll use recursively

Notes

  • this takes over ownership of the pointer

Definition at line 723 of file QueryOps.h.


The documentation for this class was generated from the following file: