class Poco::Net::Impl::IPAddressImpl

#include <IPAddressImpl.h>

class IPAddressImpl: public Poco::RefCountedObject
{
public:
    // enums

    enum Family;

    // methods

    virtual
    IPAddressImpl*
    clone() const = 0;

    virtual
    std::string
    toString() const = 0;

    virtual
    poco_socklen_t
    length() const = 0;

    virtual
    const void*
    addr() const = 0;

    virtual
    Family
    family() const = 0;

    virtual
    int
    af() const = 0;

    virtual
    Poco::UInt32
    scope() const = 0;

    virtual
    bool
    isWildcard() const = 0;

    virtual
    bool
    isBroadcast() const = 0;

    virtual
    bool
    isLoopback() const = 0;

    virtual
    bool
    isMulticast() const = 0;

    virtual
    bool
    isLinkLocal() const = 0;

    virtual
    bool
    isSiteLocal() const = 0;

    virtual
    bool
    isIPv4Mapped() const = 0;

    virtual
    bool
    isIPv4Compatible() const = 0;

    virtual
    bool
    isWellKnownMC() const = 0;

    virtual
    bool
    isNodeLocalMC() const = 0;

    virtual
    bool
    isLinkLocalMC() const = 0;

    virtual
    bool
    isSiteLocalMC() const = 0;

    virtual
    bool
    isOrgLocalMC() const = 0;

    virtual
    bool
    isGlobalMC() const = 0;

    virtual
    void
    mask(
        const IPAddressImpl* pMask,
        const IPAddressImpl* pSet
        ) = 0;

    virtual
    unsigned
    prefixLength() const = 0;
};

// direct descendants

class IPv4AddressImpl;
class IPv6AddressImpl;

Inherited Members

public:
    // methods

    void
    duplicate() const;

    void
    release() const;

    int
    referenceCount() const;