# OEIsRGroup¶

class OEIsRGroup : public OESystem::OEUnaryPredicate<OEChem::OEAtomBase>


This class represents OEIsRGroup functor that identifies atoms (OEAtomBase) with any or a specific R-group.

The following methods are publicly inherited from OEUnaryPredicate:

The following methods are publicly inherited from OEUnaryFunction:

## Constructors¶

OEIsRGroup(unsigned int idx=0)


Constructs the functor with the internal R-group index. With no arguments, this constructs a functor which returns true for any atom with a non-zero R-group index. When constructed with a non-zero integer, it constructs a functor which return true for atoms which have the same R-group index as the constructor argument.

## operator()¶

bool operator()(const OEAtomBase &atom) const


Returns true, if the OEAtomBase::GetAtomicNum() == 0 and the index returned by the OEAtomBase::GetMapIdx method for the given OEAtomBase object is equivalent to the non-zero index number with which the functor is constructed.

Returns true, if the OEAtomBase::GetAtomicNum() == 0 and the index returned by the OEAtomBase::GetMapIdx method for the given OEAtomBase object is non-zero when the index number with which the functor is constructed is 0.

## CreateCopy¶

OESystem::OEUnaryFunction<OEChem::OEAtomBase , bool> *CreateCopy() const


Deep copy constructor that returns a copy of the object. The memory for the returned OEIsRGroup object is dynamically allocated and owned by the caller.

The returned copy should be deallocated using C++ delete operator in order to prevent a memory leak.