UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
IPv4Address.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
6#include "CoreMinimal.h"
7#include "HAL/Platform.h"
11
16{
17 union
18 {
20 struct
21 {
22#if PLATFORM_LITTLE_ENDIAN
23 #ifdef _MSC_VER
24 uint8 D, C, B, A;
25 #else
26 uint8 D GCC_ALIGN(4);
27 uint8 C, B, A;
28 #endif
29#else
30 uint8 A, B, C, D;
31#endif
32 };
33
36 };
37
38public:
39
42
54#if PLATFORM_LITTLE_ENDIAN
55 : D(InD)
56 , C(InC)
57 , B(InB)
58 , A(InA)
59#else
60 : A(InA)
61 , B(InB)
62 , C(InC)
63 , D(InD)
64#endif // PLATFORM_LITTLE_ENDIAN
65 { }
66
75
76public:
77
84 bool operator==(const FIPv4Address& Other) const
85 {
86 return (Value == Other.Value);
87 }
88
95 bool operator!=(const FIPv4Address& Other) const
96 {
97 return (Value != Other.Value);
98 }
99
107 {
108 return FIPv4Address(Value | SubnetMask.Value);
109 }
110
118 {
119 return FIPv4Address(Value & SubnetMask.Value);
120 }
121
130 {
131 return Ar << IpAddress.Value;
132 }
133
134public:
135
144 bool IsGlobalMulticast() const
145 {
146 return (((A >= 224) && A <= 238) && !((A == 224) && (B == 0) && (C == 0)));
147 }
148
156 bool IsLinkLocal() const
157 {
158 return ((A == 169) && (B == 254));
159 }
160
170 {
171 return ((A >= 224) && (B == 0) && (C == 0));
172 }
173
182 bool IsLoopbackAddress() const
183 {
184 return (A == 127);
185 }
186
196 {
197 return ((A >= 224) && (A <= 239));
198 }
199
209 {
210 return ((A == 239) && (B >= 192) && (B <= 195));
211 }
212
224 {
225 return ((A == 10) || ((A == 172) && ((B >= 16) && (B <= 31))) || ((A == 192) && (B == 168)));
226 }
227
237 {
238 return ((A == 239) && (B == 255));
239 }
240
248 {
249 return (A == 230 && B == 0 && C == 0 && D == 1);
250 }
251
258 NETWORKING_API FString ToString() const;
259
266 FText ToText() const
267 {
268 return FText::FromString(ToString());
269 }
270
271public:
272
279 friend uint32 GetTypeHash(const FIPv4Address& Address)
280 {
281 return Address.Value;
282 }
283
284public:
285
294 static NETWORKING_API bool Parse(const FString& AddressString, FIPv4Address& OutAddress);
295
296public:
297
300
303
306};
#define GCC_ALIGN(n)
Definition AndroidPlatform.h:163
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
uint8_t uint8
Definition binka_ue_file_header.h:8
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition Archive.h:1208
Definition Text.h:385
static CORE_API FText FromString(const ANSICHAR *String)
Definition Text.cpp:1081
Definition IPv4Address.h:16
static NETWORKING_API bool Parse(const FString &AddressString, FIPv4Address &OutAddress)
Definition IPv4Address.cpp:26
bool IsMulticastAddress() const
Definition IPv4Address.h:195
friend uint32 GetTypeHash(const FIPv4Address &Address)
Definition IPv4Address.h:279
bool IsLoopbackAddress() const
Definition IPv4Address.h:182
FIPv4Address(uint32 InValue)
Definition IPv4Address.h:72
bool IsGlobalMulticast() const
Definition IPv4Address.h:144
bool IsLinkLocal() const
Definition IPv4Address.h:156
bool IsSiteLocalMulticast() const
Definition IPv4Address.h:236
bool IsLinkLocalMulticast() const
Definition IPv4Address.h:169
uint8 A
Definition IPv4Address.h:30
uint8 B
Definition IPv4Address.h:30
static NETWORKING_API const FIPv4Address InternalLoopback
Definition IPv4Address.h:302
FIPv4Address operator|(const FIPv4SubnetMask &SubnetMask) const
Definition IPv4Address.h:106
friend FArchive & operator<<(FArchive &Ar, FIPv4Address &IpAddress)
Definition IPv4Address.h:129
FText ToText() const
Definition IPv4Address.h:266
FIPv4Address operator&(const FIPv4SubnetMask &SubnetMask) const
Definition IPv4Address.h:117
uint32 Value
Definition IPv4Address.h:35
FIPv4Address(uint8 InA, uint8 InB, uint8 InC, uint8 InD)
Definition IPv4Address.h:53
static NETWORKING_API const FIPv4Address LanBroadcast
Definition IPv4Address.h:305
bool IsSiteLocalAddress() const
Definition IPv4Address.h:223
uint8 D
Definition IPv4Address.h:30
NETWORKING_API FString ToString() const
Definition IPv4Address.cpp:17
uint8 C
Definition IPv4Address.h:30
bool operator!=(const FIPv4Address &Other) const
Definition IPv4Address.h:95
bool operator==(const FIPv4Address &Other) const
Definition IPv4Address.h:84
bool IsSessionFrontendMulticast() const
Definition IPv4Address.h:247
bool IsOrganizationLocalMulticast() const
Definition IPv4Address.h:208
static NETWORKING_API const FIPv4Address Any
Definition IPv4Address.h:299
FIPv4Address()
Definition IPv4Address.h:41
Definition IPv4SubnetMask.h:38