UDocumentation
UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
PushModelPerNetDriverState.h
Go to the documentation of this file.
1
// Copyright Epic Games, Inc. All Rights Reserved.
2
3
#pragma once
4
5
#include "
Net/Core/PushModel/PushModelMacros.h
"
6
7
#if WITH_PUSH_MODEL
8
9
#include "
CoreMinimal.h
"
10
#include "
Containers/BitArray.h
"
11
#include "
PushModelUtils.h
"
12
13
namespace
UEPushModelPrivate
14
{
15
class
FPushModelPerNetDriverState
16
{
17
public
:
18
19
FPushModelPerNetDriverState
(
const
uint16
InNumberOfProperties
)
20
:
PropertyDirtyStates
(
true
,
InNumberOfProperties
)
21
,
bRecentlyCollectedGarbage
(
false
)
22
,
bHasDirtyProperties
(
true
)
23
{
24
}
25
26
FPushModelPerNetDriverState
(
FPushModelPerNetDriverState
&&
Other
)
27
:
PropertyDirtyStates
(
MoveTemp
(
Other
.
PropertyDirtyStates
))
28
,
bRecentlyCollectedGarbage
(
Other
.
bRecentlyCollectedGarbage
)
29
{
30
}
31
32
FPushModelPerNetDriverState
(
const
FPushModelPerNetDriverState
&
Other
) =
delete
;
33
FPushModelPerNetDriverState
& operator=(
const
FPushModelPerNetDriverState
&
Other
) =
delete
;
34
35
void
SetRecentlyCollectedGarbage
()
36
{
37
bRecentlyCollectedGarbage
=
true
;
38
}
39
40
void
ResetDirtyStates
()
41
{
42
ResetBitArray
(
PropertyDirtyStates
);
43
bRecentlyCollectedGarbage
=
false
;
44
bHasDirtyProperties
=
false
;
45
}
46
47
void
CountBytes(
FArchive
& Ar)
const
48
{
49
PropertyDirtyStates
.CountBytes(Ar);
50
}
51
52
bool
IsPropertyDirty
(
const
uint16
RepIndex)
const
53
{
54
return
PropertyDirtyStates
[RepIndex];
55
}
56
57
TConstSetBitIterator<>
GetDirtyProperties
()
const
58
{
59
return
TConstSetBitIterator<>
(
PropertyDirtyStates
);
60
}
61
62
bool
DidRecentlyCollectGarbage
()
const
63
{
64
return
bRecentlyCollectedGarbage
;
65
}
66
67
void
MarkPropertiesDirty
(
const
TBitArray<>
&
OtherBitArray
)
68
{
69
BitwiseOrBitArrays
(
OtherBitArray
,
PropertyDirtyStates
);
70
bHasDirtyProperties
=
true
;
71
}
72
73
void
MarkPropertyDirty(
const
uint16
RepIndex)
74
{
75
PropertyDirtyStates
[RepIndex] =
true
;
76
bHasDirtyProperties
=
true
;
77
}
78
79
bool
HasDirtyProperties
()
const
80
{
81
return
bHasDirtyProperties
;
82
}
83
84
private
:
85
90
TBitArray<>
PropertyDirtyStates
;
91
uint8
bRecentlyCollectedGarbage
: 1;
92
uint8
bHasDirtyProperties
: 1;
93
};
94
}
95
96
#endif
EARSessionStatus::Other
@ Other
BitArray.h
CoreMinimal.h
StaticCastSharedRef
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition
SharedPointer.h:127
true
return true
Definition
ExternalRpcRegistry.cpp:601
PushModelMacros.h
PushModelUtils.h
MoveTemp
UE_INTRINSIC_CAST UE_REWRITE constexpr std::remove_reference_t< T > && MoveTemp(T &&Obj) noexcept
Definition
UnrealTemplate.h:520
uint8
uint8_t uint8
Definition
binka_ue_file_header.h:8
uint16
uint16_t uint16
Definition
binka_ue_file_header.h:7
FArchive
Definition
Archive.h:1208
TBitArray<>
TConstSetBitIterator
Definition
BitArray.h:1944
UEPushModelPrivate
Definition
RepLayout.cpp:129
false
@ false
Definition
radaudio_common.h:23
Engine
Source
Runtime
Net
Core
Private
Net
Core
PushModel
Types
PushModelPerNetDriverState.h
Generated by
1.9.8