IPAddress

IPAddress class

Represents the IP address. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.

class IPAddress : public System::Object

Methods

MethodDescription
bool Equals(System::SharedPtr<Object>) overrideCompares objects using C# Object.Equals semantics.
virtual bool Equals(ptr)Compares objects using C# Object.Equals semantics.
static std::enable_if<IsSmartPtr<T1>::value&&IsSmartPtr<T2>::value, bool>::type Equals(T1 const&, T2 const&)Compares reference type objects in C# style.
static bool Equals(float const&, float const&)Emulates C#-style floating point comparison where two NaNs are considered equal even though according to IEC 60559:1989 NaN is not equal to any value, including NaN.
static bool Equals(double const&, double const&)Emulates C#-style floating point comparison where two NaNs are considered equal even though according to IEC 60559:1989 NaN is not equal to any value, including NaN.
virtual bool FastCast(const Details::FastRttiBase&, void **) constFor internal purposes only.
System::Net::Sockets::AddressFamily get_AddressFamily()Returns the address family.
bool get_IsIPv4MappedToIPv6()Returns a value that indicates if the address is an IPv4 address and is mapped to an IPv6 address.
bool get_IsIPv6LinkLocal()Returns a value that indicates if the address is an IPv6 link-local address.
bool get_IsIPv6Multicast()Returns a value that indicates if the address is an global IPv6 multicast address.
bool get_IsIPv6SiteLocal()Returns a value that indicates if the address is an IPv6 site-local address.
bool get_IsIPv6Teredo()Returns a value that indicates if the address is an IPv6 Teredo address.
int64_t get_ScopeId()Gets the scope identifier of the IPv6 address.
System::ArrayPtr<uint8_t> GetAddressBytes()Returns a byte array of the IP address.
Detail::SmartPtrCounter * GetCounter()Gets reference counter data structure associated with the object.
int32_t GetHashCode() const overrideAnalog of C# Object.GetHashCode() method. Enables hashing of custom objects.
ImplPtr GetImpl() constReturns a pointer to implementation.
virtual const TypeInfo& GetType() constGets actual type of object. Analog of C# System.Object.GetType() call.
static int64_t HostToNetworkOrder(int64_t)Converts the specified host byte order to the corresponding network byte order.
static int32_t HostToNetworkOrder(int32_t)Converts the specified host byte order to the corresponding network byte order.
static int16_t HostToNetworkOrder(int16_t)Converts the specified host byte order to the corresponding network byte order.
IPAddress(int64_t)Constructs a new instance.
IPAddress(System::ArrayPtr<uint8_t>, int64_t)Constructs a new instance.
IPAddress(System::ArrayPtr<uint8_t>)Constructs a new instance.
IPAddress()Constructs a new instance.
virtual bool Is(const TypeInfo&) constCheck if object represents an instance of type described by targetType. Analog of C# ‘is’ operator.
static bool IsLoopback(System::SharedPtr<IPAddress>)Returns a value that indicates if the specified address is a loopback address.
void Lock()Implements C# lock() statement locking. Call directly or use LockContext sentry object.
System::SharedPtr<IPAddress> MapToIPv4()Maps the address to the IPv4 address.
System::SharedPtr<IPAddress> MapToIPv6()Maps the address to the IPv6 address.
virtual ptr MemberwiseClone() constAnalog of C# Object.MemberwiseClone() method. Enables cloning custom types.
static int64_t NetworkToHostOrder(int64_t)Converts the specified network byte order to the corresponding host byte order.
static int32_t NetworkToHostOrder(int32_t)Converts the specified network byte order to the corresponding host byte order.
static int16_t NetworkToHostOrder(int16_t)Converts the specified network byte order to the corresponding host byte order.
Object()Creates object. Initializes all internal data structures.
Object(Object const&)Copy constructor. Doesn’t copy anything, really, just initializes new object and enables copy constructing subclasses.
Object& operator=(Object const&)Assignment operator. Doesn’t copy anything, really, just initializes new object and enables copy constructing subclasses.
static System::SharedPtr<IPAddress> Parse(String)Converts a passed string to an instance of the IPAddress class.
static bool ReferenceEquals(ptr const&, ptr const&)Compares objects by reference.
static std::enable_if<!IsSmartPtr<T>::value, bool>::type ReferenceEquals(T const&, T const&)Compares objects by reference.
static std::enable_if<!IsSmartPtr<T>::value, bool>::type ReferenceEquals(T const&, std::nullptr_t)Reference-compares value type object with nullptr.
bool ReferenceEquals(String const&, std::nullptr_t)Specialization of Object::ReferenceEquals for case of string and nullptr.
bool ReferenceEquals(String const&, String const&)Specialization of Object::ReferenceEquals for case of strings.
int RemovedSharedRefs(int)Decreases shared reference count by specified value.
void set_ScopeId(int64_t)Sets the scope identifier of the IPv6 address.
void SetImpl(ImplPtr)Sets a pointer to implementation.
virtual void SetTemplateWeakPtr(uint32_t)Set n’th template argument a weak pointer (rather than shared). Allows switching pointers in containers to weak mode.
int SharedCount() constGets current value of shared reference counter.
Object * SharedRefAdded()Increments shared reference count. Shouldn’t be called directly; instead, use smart pointers or ThisProtector.
int SharedRefRemovedSafe()Decrements and returns shared reference count. Shouldn’t be called directly; instead, use smart pointers or ThisProtector.
String ToString() const overrideAnalog of C# Object.ToString() method. Enables converting custom objects to string.
static bool TryParse(String, System::SharedPtr<IPAddress>&)Tries to convert a passed string to an instance of the IPAddress class.
static const TypeInfo& Type()Implements C# typeof(System.Object) construct.
void Unlock()Implements C# lock() statement unlocking. Call directly or use LockContext sentry object.
Detail::SmartPtrCounter * WeakRefAdded()Increments weak reference count. Shouldn’t be called directly; instead, use smart pointers or ThisProtector.
void WeakRefRemoved()Decrements weak reference count. Shouldn’t be called directly; instead, use smart pointers or ThisProtector.
virtual ~Object()Destroys object. Frees all internal data structures.

Fields

FieldDescription
static AnyThe IPv4 address that indicates if the server must listen all network interfaces.
static BroadcastThe IPv4 broadcast address.
static IPv6AnyThe IPv6 address that indicates if the server must listen all network interfaces.
static IPv6LoopbackThe IPv6 loopback address.
static IPv6NoneThe IPv6 address that indicates if the server mustn’t listen any network interface.
static LoopbackThe IPv4 loopback address.
static NoneThe IPv4 address that indicates if the server mustn’t listen any network interface.

Typedefs

TypedefDescription
ImplPtrA pointer to the implementation type.

See Also