struct CCL::Security::Crypto::IInteger

Overview

#include <icryptointeger.h>

struct IInteger: public CCL::IUnknown
{
    // methods

    virtual tresult CCL_API fromCString (CStringPtr string, int base = 16) = 0;
    virtual tresult CCL_API toCString (MutableCString& string, int base = 16) const = 0;
    virtual tresult CCL_API add (IInteger& result, const IInteger& value) = 0;
    virtual tresult CCL_API substract (IInteger& result, const IInteger& value) = 0;
    virtual tresult CCL_API multiply (IInteger& result, const IInteger& factor) = 0;
    virtual tresult CCL_API divide (IInteger& result, const IInteger& divisor) = 0;

    virtual tresult CCL_API expMod (
        IInteger& result,
        const IInteger& exp,
        const IInteger& mod
    ) = 0;

    virtual tresult CCL_API modulo (IInteger& result, const IInteger& value) = 0;
};

Inherited Members

public:
    // methods

    virtual tresult CCL_API queryInterface (UIDRef iid, void** ptr) = 0;
    virtual unsigned int CCL_API retain () = 0;
    virtual unsigned int CCL_API release () = 0;

Detailed Documentation

Methods

virtual tresult CCL_API fromCString (CStringPtr string, int base = 16) = 0

Assign from string representation.

virtual tresult CCL_API toCString (MutableCString& string, int base = 16) const = 0

Convert to string representation.

virtual tresult CCL_API add (IInteger& result, const IInteger& value) = 0

Add operation.

virtual tresult CCL_API substract (IInteger& result, const IInteger& value) = 0

Substract operation.

virtual tresult CCL_API multiply (IInteger& result, const IInteger& factor) = 0

Multiply operation.

virtual tresult CCL_API divide (IInteger& result, const IInteger& divisor) = 0

Division operation.

virtual tresult CCL_API expMod (
    IInteger& result,
    const IInteger& exp,
    const IInteger& mod
) = 0

Exponential mod operation.

virtual tresult CCL_API modulo (IInteger& result, const IInteger& value) = 0

Modulo operation.