Chemical Data Processing Library C++ API - Version 1.1.1
Public Types | Public Member Functions | List of all members
CDPL::Chem::NOTMatchExpression< ObjType1, ObjType2 > Class Template Reference

NOTMatchExpression. More...

#include <NOTMatchExpression.hpp>

+ Inheritance diagram for CDPL::Chem::NOTMatchExpression< ObjType1, ObjType2 >:

Public Types

typedef std::shared_ptr< NOTMatchExpressionSharedPointer
 A reference-counted smart pointer [SHPTR] for dynamically allocated NOTMatchExpression instances. More...
 
- Public Types inherited from CDPL::Chem::MatchExpression< ObjType1, void >
typedef std::shared_ptr< MatchExpressionSharedPointer
 A reference-counted smart pointer [SHPTR] for dynamically allocated MatchExpression instances. More...
 

Public Member Functions

 NOTMatchExpression (const typename MatchExpression< ObjType1, ObjType2 >::SharedPointer &expr_ptr)
 Constructs a NOTMatchExpression object that wraps the match expression instance specified by expr_ptr. More...
 
bool operator() (const ObjType1 &query_obj1, const ObjType2 &query_obj2, const ObjType1 &target_obj1, const ObjType2 &target_obj2, const Base::Any &aux_data) const
 Performs an evaluation of the wrapped match expression for the given query and target objects and returns the inverted result. More...
 
bool operator() (const ObjType1 &query_obj1, const ObjType2 &query_obj2, const ObjType1 &target_obj1, const ObjType2 &target_obj2, const AtomBondMapping &mapping, const Base::Any &aux_data) const
 Performs an evaluation of the wrapped match expression for the given query and target objects under consideration of the provided candidate atom/bond mapping and returns the inverted result. More...
 
bool requiresAtomBondMapping () const
 Tells whether the wrapped match expression requires a reevaluation after a query to target atom/bond mapping candidate has been found. More...
 
- Public Member Functions inherited from CDPL::Chem::MatchExpression< ObjType1, void >
virtual ~MatchExpression ()
 Virtual Destructor. 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

template<typename ObjType1, typename ObjType2 = void>
class CDPL::Chem::NOTMatchExpression< ObjType1, ObjType2 >

NOTMatchExpression.

Template Parameters
ObjType1The type of the primary query/target objects for which the expression gets evaluated.
ObjType2The type of secondary query/target objects which provide auxiliary information for expression evaluation.

Member Typedef Documentation

◆ SharedPointer

template<typename ObjType1 , typename ObjType2 = void>
typedef std::shared_ptr<NOTMatchExpression> CDPL::Chem::NOTMatchExpression< ObjType1, ObjType2 >::SharedPointer

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

Constructor & Destructor Documentation

◆ NOTMatchExpression()

template<typename ObjType1 , typename ObjType2 = void>
CDPL::Chem::NOTMatchExpression< ObjType1, ObjType2 >::NOTMatchExpression ( const typename MatchExpression< ObjType1, ObjType2 >::SharedPointer expr_ptr)
inline

Constructs a NOTMatchExpression object that wraps the match expression instance specified by expr_ptr.

Parameters
expr_ptrA pointer to the wrapped Chem::MatchExpression instance.

Member Function Documentation

◆ operator()() [1/2]

template<typename ObjType1 , typename ObjType2 >
bool CDPL::Chem::NOTMatchExpression< ObjType1, ObjType2 >::operator() ( const ObjType1 &  query_obj1,
const ObjType2 &  query_obj2,
const ObjType1 &  target_obj1,
const ObjType2 &  target_obj2,
const Base::Any aux_data 
) const
virtual

Performs an evaluation of the wrapped match expression for the given query and target objects and returns the inverted result.

Parameters
query_obj1The primary query object.
query_obj2The secondary query object.
target_obj1The primary target object.
target_obj2The secondary target object.
aux_dataProvides auxiliary information for the evaluation of the wrapped expression.
Returns
true if the wrapped match expression evaluates to false, and vice versa.

Reimplemented from CDPL::Chem::MatchExpression< ObjType1, void >.

◆ operator()() [2/2]

template<typename ObjType1 , typename ObjType2 >
bool CDPL::Chem::NOTMatchExpression< ObjType1, ObjType2 >::operator() ( const ObjType1 &  query_obj1,
const ObjType2 &  query_obj2,
const ObjType1 &  target_obj1,
const ObjType2 &  target_obj2,
const AtomBondMapping mapping,
const Base::Any aux_data 
) const
virtual

Performs an evaluation of the wrapped match expression for the given query and target objects under consideration of the provided candidate atom/bond mapping and returns the inverted result.

Parameters
query_obj1The primary query object.
query_obj2The secondary query object.
target_obj1The primary target object.
target_obj2The secondary target object.
mappingThe current query to target atom/bond mapping candidate to evaluate.
aux_dataProvides auxiliary information for the evaluation of the wrapped expression.
Returns
true if the wrapped match expression evaluates to false, and vice versa.

Reimplemented from CDPL::Chem::MatchExpression< ObjType1, void >.

◆ requiresAtomBondMapping()

template<typename ObjType1 >
bool CDPL::Chem::NOTMatchExpression< ObjType1 >::requiresAtomBondMapping

Tells whether the wrapped match expression requires a reevaluation after a query to target atom/bond mapping candidate has been found.

Returns
true if the expression needs to be evaluated again after a query/target mapping candidate has been found, and false otherwise.

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