RDKit
Open-source cheminformatics and machine learning.
Loading...
Searching...
No Matches
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< MatchFuncArgType, DataFuncArgType, needsConversion >

Public Member Functions

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

Static Public Member Functions

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

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< MatchFuncArgType, DataFuncArgType, needsConversion >
using CHILD_TYPE
using CHILD_VECT = std::vector<CHILD_TYPE>
using CHILD_VECT_I = typename CHILD_VECT::iterator
using CHILD_VECT_CI = typename CHILD_VECT::const_iterator
using MATCH_FUNC_ARG_TYPE = MatchFuncArgType
using DATA_FUNC_ARG_TYPE = DataFuncArgType
Public Attributes inherited from Queries::Query< MatchFuncArgType, DataFuncArgType, needsConversion >
bool(*)(MatchFuncArgType) getMatchFunc () const
 returns our match function:
MatchFuncArgType(*)(DataFuncArgType) getDataFunc () const
 returns our data function:
Protected Member Functions inherited from Queries::Query< MatchFuncArgType, DataFuncArgType, needsConversion >
MatchFuncArgType TypeConvert (MatchFuncArgType what, Int2Type< false >) const
 calls our dataFunc (if it's set) on what and returns the result, otherwise returns what
MatchFuncArgType TypeConvert (DataFuncArgType what, Int2Type< true >) const
Protected Attributes inherited from Queries::SetQuery< int, Atom const *, true >
CONTAINER_TYPE d_set
Protected Attributes inherited from Queries::Query< MatchFuncArgType, DataFuncArgType, needsConversion >
MatchFuncArgType d_val = 0
MatchFuncArgType d_tol = 0
std::string d_description = ""
std::string d_queryType = ""
CHILD_VECT d_children
bool df_negate {false}
bool(* d_matchFunc )(MatchFuncArgType)
union { 
   MatchFuncArgType(*   d_dataFunc )(DataFuncArgType) 
   MatchFuncArgType(*   d_dataFuncSameType )(MatchFuncArgType) 
}; 

Detailed Description

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

Definition at line 750 of file QueryOps.h.

Constructor & Destructor Documentation

◆ RecursiveStructureQuery() [1/2]

◆ RecursiveStructureQuery() [2/2]

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

Member Function Documentation

◆ copy()

◆ getAtIdx()

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

returns the index of an atom

Definition at line 770 of file QueryOps.h.

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

Referenced by RecursiveStructureQuery(), and RecursiveStructureQuery().

◆ getQueryMol()

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

returns a pointer to our query molecule

Definition at line 782 of file QueryOps.h.

◆ getSerialNumber()

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

Definition at line 798 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 780 of file QueryOps.h.

Referenced by RecursiveStructureQuery().


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