JUCE  v6.1.6 (6.0.8-1114)
JUCE API
Looking for a senior C++ dev?
I'm looking for work. Hire me!
juce::IPAddress Class Referencefinal

Represents an IP address. More...

#include <juce_IPAddress.h>

Collaboration diagram for juce::IPAddress:

Public Member Functions

 IPAddress () noexcept
 Creates a null address - 0.0.0.0 (IPv4) or ::, (IPv6) More...
 
 IPAddress (const String &address)
 Parses a string IP address of the form "1.2.3.4" (IPv4) or "1:2:3:4:5:6:7:8" (IPv6). More...
 
 IPAddress (const uint16 *bytes) noexcept
 Creates an IPv6 address from an array of 8 16-bit integers. More...
 
 IPAddress (const uint8 *bytes, bool IPv6=false) noexcept
 Creates an IPv4 or IPv6 address by reading 4 or 16 bytes from an array. More...
 
 IPAddress (uint16 address1, uint16 address2, uint16 address3, uint16 address4, uint16 address5, uint16 address6, uint16 address7, uint16 address8) noexcept
 Creates an IPv6 address from 8 16-bit integers. More...
 
 IPAddress (uint32 asNativeEndian32Bit) noexcept
 Creates an IPv4 address from a packed 32-bit integer, where the MSB is the first number in the address, and the LSB is the last. More...
 
 IPAddress (uint8 address1, uint8 address2, uint8 address3, uint8 address4) noexcept
 Creates an IPv4 address from 4 bytes. More...
 
int compare (const IPAddress &) const noexcept
 Compares this IPAddress with another. More...
 
bool isNull () const
 Returns whether the address contains the null address (e.g. More...
 
bool operator!= (const IPAddress &) const noexcept
 
bool operator< (const IPAddress &) const noexcept
 
bool operator<= (const IPAddress &) const noexcept
 
bool operator== (const IPAddress &) const noexcept
 
bool operator> (const IPAddress &) const noexcept
 
bool operator>= (const IPAddress &) const noexcept
 
String toString () const
 Returns a dot- or colon-separated string in the form "1.2.3.4" (IPv4) or "1:2:3:4:5:6:7:8" (IPv6). More...
 

Static Public Member Functions

static IPAddress (bool IPv6=false) noexcept
 Returns an IPv4 or IPv6 address meaning "localhost", equivalent to 127.0.0.1 (IPv4) or ::1 (IPv6) More...
 
static IPAddress any () noexcept
 Returns an IP address meaning "any", equivalent to 0.0.0.0 (IPv4) or ::, (IPv6)
More...
 
static IPAddress broadcast () noexcept
 Returns an IPv4 address meaning "broadcast" (255.255.255.255) More...
 
static IPAddress convertIPv4AddressToIPv4Mapped (const IPAddress &addressToMap)
 Converts an IPv4 address to an IPv4-mapped IPv6 address. More...
 
static IPAddress convertIPv4MappedAddressToIPv4 (const IPAddress &mappedAddress)
 Converts an IPv4-mapped IPv6 address to an IPv4 address. More...
 
static void findAllAddresses (Array< IPAddress > &results, bool includeIPv6=false)
 Populates a list of all the IP addresses that this machine is using. More...
 
static Array< IPAddressgetAllAddresses (bool includeIPv6=false)
 Populates a list of all the IP addresses that this machine is using. More...
 
static String getFormattedAddress (const String &unformattedAddress)
 Returns a formatted version of the provided IPv6 address conforming to RFC 5952 with leading zeros suppressed, lower case characters, and double-colon notation used to represent contiguous 16-bit fields of zeros. More...
 
static IPAddress getInterfaceBroadcastAddress (const IPAddress &interfaceAddress)
 If the IPAdress is the address of an interface on the machine, returns the associated broadcast address. More...
 
static IPAddress getLocalAddress (bool includeIPv6=false)
 Returns the first 'real' address for the local machine. More...
 
static bool isIPv4MappedAddress (const IPAddress &mappedAddress)
 Returns true if the given IP address is an IPv4-mapped IPv6 address. More...
 

Public Attributes

uint8 address [16]
 The elements of the IP address. More...
 
bool isIPv6 = false
 

Detailed Description

Represents an IP address.

@tags{Core}

Constructor & Destructor Documentation

◆ IPAddress() [1/8]

static juce::IPAddress::IPAddress ( bool  IPv6 = false)
staticnoexcept

Returns an IPv4 or IPv6 address meaning "localhost", equivalent to 127.0.0.1 (IPv4) or ::1 (IPv6)

◆ IPAddress() [2/8]

juce::IPAddress::IPAddress ( )
noexcept

Creates a null address - 0.0.0.0 (IPv4) or ::, (IPv6)

◆ IPAddress() [3/8]

juce::IPAddress::IPAddress ( const uint8 bytes,
bool  IPv6 = false 
)
explicitnoexcept

Creates an IPv4 or IPv6 address by reading 4 or 16 bytes from an array.

Parameters
bytesThe array containing the bytes to read.
IPv6if true indicates that 16 bytes should be read instead of 4.

◆ IPAddress() [4/8]

juce::IPAddress::IPAddress ( const uint16 bytes)
explicitnoexcept

Creates an IPv6 address from an array of 8 16-bit integers.

Parameters
bytesThe array containing the bytes to read.

◆ IPAddress() [5/8]

juce::IPAddress::IPAddress ( uint8  address1,
uint8  address2,
uint8  address3,
uint8  address4 
)
noexcept

Creates an IPv4 address from 4 bytes.

◆ IPAddress() [6/8]

juce::IPAddress::IPAddress ( uint16  address1,
uint16  address2,
uint16  address3,
uint16  address4,
uint16  address5,
uint16  address6,
uint16  address7,
uint16  address8 
)
noexcept

Creates an IPv6 address from 8 16-bit integers.

◆ IPAddress() [7/8]

juce::IPAddress::IPAddress ( uint32  asNativeEndian32Bit)
explicitnoexcept

Creates an IPv4 address from a packed 32-bit integer, where the MSB is the first number in the address, and the LSB is the last.

◆ IPAddress() [8/8]

juce::IPAddress::IPAddress ( const String address)
explicit

Parses a string IP address of the form "1.2.3.4" (IPv4) or "1:2:3:4:5:6:7:8" (IPv6).

Member Function Documentation

◆ any()

static IPAddress juce::IPAddress::any ( )
staticnoexcept

Returns an IP address meaning "any", equivalent to 0.0.0.0 (IPv4) or ::, (IPv6)

◆ broadcast()

static IPAddress juce::IPAddress::broadcast ( )
staticnoexcept

Returns an IPv4 address meaning "broadcast" (255.255.255.255)

◆ compare()

int juce::IPAddress::compare ( const IPAddress ) const
noexcept

Compares this IPAddress with another.

Returns
0 if the two addresses are identical, negative if this address is smaller than the other one, or positive if is greater.

◆ convertIPv4AddressToIPv4Mapped()

static IPAddress juce::IPAddress::convertIPv4AddressToIPv4Mapped ( const IPAddress addressToMap)
static

Converts an IPv4 address to an IPv4-mapped IPv6 address.

◆ convertIPv4MappedAddressToIPv4()

static IPAddress juce::IPAddress::convertIPv4MappedAddressToIPv4 ( const IPAddress mappedAddress)
static

Converts an IPv4-mapped IPv6 address to an IPv4 address.

If the address is not IPv4-mapped, this will return a null address.

◆ findAllAddresses()

void juce::IPAddress::findAllAddresses ( Array< IPAddress > &  results,
bool  includeIPv6 = false 
)
static

Populates a list of all the IP addresses that this machine is using.

References juce::anonymous_namespace{juce_posix_IPAddress.h}::getAllInterfaceInfo(), and juce::gl::result.

◆ getAllAddresses()

static Array<IPAddress> juce::IPAddress::getAllAddresses ( bool  includeIPv6 = false)
static

Populates a list of all the IP addresses that this machine is using.

◆ getFormattedAddress()

static String juce::IPAddress::getFormattedAddress ( const String unformattedAddress)
static

Returns a formatted version of the provided IPv6 address conforming to RFC 5952 with leading zeros suppressed, lower case characters, and double-colon notation used to represent contiguous 16-bit fields of zeros.

Parameters
unformattedAddressthe IPv6 address to be formatted

◆ getInterfaceBroadcastAddress()

IPAddress juce::IPAddress::getInterfaceBroadcastAddress ( const IPAddress interfaceAddress)
static

If the IPAdress is the address of an interface on the machine, returns the associated broadcast address.

If the address is not an interface, it will return a null address.

References juce::anonymous_namespace{juce_posix_IPAddress.h}::getAllInterfaceInfo().

◆ getLocalAddress()

static IPAddress juce::IPAddress::getLocalAddress ( bool  includeIPv6 = false)
static

Returns the first 'real' address for the local machine.

Unlike local(), this will attempt to find the machine's actual assigned address rather than "127.0.0.1". If there are multiple network cards, this may return any of their addresses. If it doesn't find any, then it'll return local() as a fallback.

◆ isIPv4MappedAddress()

static bool juce::IPAddress::isIPv4MappedAddress ( const IPAddress mappedAddress)
static

Returns true if the given IP address is an IPv4-mapped IPv6 address.

◆ isNull()

bool juce::IPAddress::isNull ( ) const

Returns whether the address contains the null address (e.g.

0.0.0.0).

◆ operator!=()

bool juce::IPAddress::operator!= ( const IPAddress ) const
noexcept

◆ operator<()

bool juce::IPAddress::operator< ( const IPAddress ) const
noexcept

◆ operator<=()

bool juce::IPAddress::operator<= ( const IPAddress ) const
noexcept

◆ operator==()

bool juce::IPAddress::operator== ( const IPAddress ) const
noexcept

◆ operator>()

bool juce::IPAddress::operator> ( const IPAddress ) const
noexcept

◆ operator>=()

bool juce::IPAddress::operator>= ( const IPAddress ) const
noexcept

◆ toString()

String juce::IPAddress::toString ( ) const

Returns a dot- or colon-separated string in the form "1.2.3.4" (IPv4) or "1:2:3:4:5:6:7:8" (IPv6).

Member Data Documentation

◆ address

uint8 juce::IPAddress::address[16]

The elements of the IP address.

◆ isIPv6

bool juce::IPAddress::isIPv6 = false

The documentation for this class was generated from the following files: