Chemical Data Processing Library C++ API - Version 1.2.0
Public Types | Public Member Functions | List of all members
CDPL::Chem::AtomEnvironmentMatchExpression Class Reference

AtomEnvironmentMatchExpression. More...

#include <AtomEnvironmentMatchExpression.hpp>

+ Inheritance diagram for CDPL::Chem::AtomEnvironmentMatchExpression:

Public Types

typedef std::shared_ptr< AtomEnvironmentMatchExpressionSharedPointer
 A reference-counted smart pointer [SHPTR] for dynamically allocated AtomEnvironmentMatchExpression instances. More...
 
- Public Types inherited from CDPL::Chem::MatchExpression< Atom, MolecularGraph >
typedef std::shared_ptr< MatchExpressionSharedPointer
 A reference-counted smart pointer [SHPTR] for dynamically allocated MatchExpression instances. More...
 

Public Member Functions

 AtomEnvironmentMatchExpression (const MolecularGraph::SharedPointer &env_pattern, bool not_match)
 Constructs an AtomEnvironmentMatchExpression instance for the specified atom environment pattern and matching mode. More...
 
bool operator() (const Atom &query_atom, const MolecularGraph &query_molgraph, const Atom &target_atom, const MolecularGraph &target_molgraph, const Base::Any &aux_data) const
 Checks whether the structural environment of target_atom matches (or does not match) the query environment pattern specified in the constructor. More...
 
- Public Member Functions inherited from CDPL::Chem::MatchExpression< Atom, MolecularGraph >
virtual ~MatchExpression ()
 Virtual Destructor. More...
 
virtual bool operator() (const Atom &query_obj1, const MolecularGraph &query_obj2, const Atom &target_obj1, const MolecularGraph &target_obj2, const Base::Any &aux_data) const
 Performs an evaluation of the expression for the given query and target objects. More...
 
virtual bool operator() (const Atom &query_obj1, const MolecularGraph &query_obj2, const Atom &target_obj1, const MolecularGraph &target_obj2, const AtomBondMapping &mapping, const Base::Any &aux_data) const
 Performs an evaluation of the expression for the given query and target objects under consideration of the provided candidate atom/bond mapping. More...
 
virtual bool requiresAtomBondMapping () const
 Tells whether the expression must be reevaluated after a query to target atom/bond mapping candidate has been found. More...
 

Detailed Description

AtomEnvironmentMatchExpression.

Member Typedef Documentation

◆ SharedPointer

A reference-counted smart pointer [SHPTR] for dynamically allocated AtomEnvironmentMatchExpression instances.

Constructor & Destructor Documentation

◆ AtomEnvironmentMatchExpression()

CDPL::Chem::AtomEnvironmentMatchExpression::AtomEnvironmentMatchExpression ( const MolecularGraph::SharedPointer env_pattern,
bool  not_match 
)

Constructs an AtomEnvironmentMatchExpression instance for the specified atom environment pattern and matching mode.

Parameters
env_patternA substructure search pattern that describes the required (or not desired) structural environment of matching target atoms. Note: The substructure pattern has to be formulated in a way that the first atom of the pattern molecule matches the target atoms.
not_matchSpecifies whether the environment of a target atom actually has to match (true) or not match (false) the given query environment pattern.

Member Function Documentation

◆ operator()()

bool CDPL::Chem::AtomEnvironmentMatchExpression::operator() ( const Atom query_atom,
const MolecularGraph query_molgraph,
const Atom target_atom,
const MolecularGraph target_molgraph,
const Base::Any aux_data 
) const

Checks whether the structural environment of target_atom matches (or does not match) the query environment pattern specified in the constructor.

Parameters
query_atomThe query atom (ignored).
query_molgraphThe molecular graph containing the query atom (ignored).
target_atomThe checked target atom.
target_molgraphThe molecular graph containing the target atom.
aux_dataAuxiliary information for expression evaluation (ignored).
Returns
If the matching mode is 'not match' (see constructor), the method returns false if the structural environment of the target atom matches the query environment pattern, and true if the pattern is not matched. Otherwise, true is returned if the atom environments match, and false if they do not.
Note
If an invalid query environment pattern has been specified (null pointer or the atom count is zero), the method will always return true - irrespective of matching mode and target atom environment.

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