This function takes a const input molecule and variants of that molecule different
formal charges are
returned as an OESystem::OEIterBase<OEChem::OEMolBase>*. Options are set with an
OEFormalChargeOptions, a parameter that is not required.
See the corresponding documentation for descriptions of options.

Warning

The following version of OEEnumerateFormalCharges is deprecated.
Use the above OEFormalChargeOptions version instead.

This function has three arguments. The first is the non-const
molecule whose formal charges are to be enumerated. For details of
the enumeration process, please see pkatyper - Ligand pKa.
The second argument is a functor call-back. The functor’s
operator() is called with each new protonation state
enumerated. The enumeration will continue until the functor
returns false or until the enumeration is complete. The third
argument determines if verbose atom-type information should be
written to standard out. The function will return the total number
of states which were enumerated.