# OEHasFormalCharge¶

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


This class represents OEHasFormalCharge functor that identifies atoms (OEAtomBase) with a specific formal charge.

The following methods are publicly inherited from OEUnaryPredicate:

The following methods are publicly inherited from OEUnaryFunction:

## Constructors¶

OEHasFormalCharge(int c)


Constructs the functor with the given formal charge.

## operator()¶

bool operator()(const OEAtomBase &atom) const


Returns true, if the charge returned by the OEAtomBase::GetFormalCharge method for the given OEAtomBase object is equivalent to the charge with which the functor is constructed.

## CreateCopy¶

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


Deep copy constructor that returns a copy of the object. The memory for the returned OEHasFormalCharge 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.