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 constgetQueryMol () 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
 returns whether or not we match the argument
 
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 = std::shared_ptr< Query< MatchFuncArgType, DataFuncArgType, needsConversion > >
 
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 748 of file QueryOps.h.

Constructor & Destructor Documentation

◆ RecursiveStructureQuery() [1/2]

RDKit::RecursiveStructureQuery::RecursiveStructureQuery ( )
inline

Definition at line 751 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 760 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 768 of file QueryOps.h.

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

◆ getQueryMol()

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

returns a pointer to our query molecule

Definition at line 780 of file QueryOps.h.

◆ getSerialNumber()

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

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


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