class OEFingerPrint : public OESystem::OEBitVector

OEFingerPrint class is used to encode molecular properties. An OEFingerPrint object is a typed bitvector (OEBitVector). The type of an OEFingerPrint object is set when it is initialized.

The following methods are publicly inherited from OEBitVector:

operator< FirstBit PrevBit
operator= FromHexString SetBitOff
operator-= GetData SetBitOn
operator[] GetSize SetData
operator^= IsBitOn SetRangeOff
operator|= IsEmpty SetRangeOn
operator &= LastBit SetSize
ClearBits NegateBits ToHexString
CountBits NextBit ToggleBit



Default constructor that creates an OEFingerPrint object with an uninitialized type, zero pointer (OEFPTypeBase).

OEFingerPrint(const OEFingerPrint &rhs)

Copy constructor.


OEFingerPrint &operator=(const OEFingerPrint &rhs)

Assignment operator that copies the data of the rhs OEFingerPrint object into the left-hand side OEFingerPrint object.


bool operator==(const OEFingerPrint& rhs) const

Two OEFingerPrint objects are considered to be equivalent only if they have the same fingerprint type (OEFPTypeBase) and have identical bit-vectors (OEBitVector).


bool operator!=(const OEFingerPrint& rhs) const

Two OEFingerPrint objects are considered to be different if either they have different fingerprint types (OEFPTypeBase) or they have different bit-vectors (OEBitVector).

operator bool

bool IsValid()

Returns whether the OEFingerPrint has been initialized, i.e., has a valid type.


const OEFPTypeBase *GetFPTypeBase() const

Returns a const pointer to the fingerprint type (OEFPTypeBase) of the OEFingerPrint object. This method will return 0 if the OEFingerPrint object has not been initialized.


void SetFPTypeBase(const OEFPTypeBase *t)

Sets the fingerprint type of a OEFingerPrint object.

The following functions set the type of the fingerprint when an OEFingerPrint object is initialized:


Use this method with caution.

The type of a OEFingerPrint object (that is an OEFPTypeBase) encodes how the fingerprint is generated. Changing this type can mean that the information represented by bitvector of the fingerprint will be misinterpreted.