Apparatus
Version 1.23
ECS data-oriented workflow for Unreal Engine.
|
#include <More/type_traits>
#include "CoreMinimal.h"
#include "UObject/Class.h"
#include "More/EnumClassFlags.h"
#include "ApparatusStatus.h"
#include "Flagmark.generated.h"
Classes | |
struct | FFlagmarkIndicator |
Compile-time flagmark specification indicator. More... | |
struct | FExclusionIndicator |
Compile-time exclusion indicator. More... | |
struct | TFlagmark< InFlagmark > |
A flagmark Used within compile-time functionality. More... | |
struct | TExclude< T > |
Exclude a certain component or flagmark. More... | |
Typedefs | |
using | EFlagmarkType = __underlying_type(EFlagmark) |
Compile-Time Indicators | |
using | FFM_None = TFlagmark< FM_None > |
No-flags compile-time indicator. | |
using | FFM_Stale = TFlagmark< FM_Stale > |
Stale flag compile-time indicator. | |
using | FFM_Booted = TFlagmark< FM_Booted > |
Booted flag compile-time indicator. | |
using | FFM_Online = TFlagmark< FM_Online > |
Online flag compile-time indicator. | |
using | FFM_Editor = TFlagmark< FM_Editor > |
Editor flag compile-time indicator. | |
using | FFM_DeferredDespawn = TFlagmark< FM_DeferredDespawn > |
Deferred despawn flag compile-time indicator. | |
using | FFM_AllSystemLevel = TFlagmark< FM_AllSystemLevel > |
All system-level flags compile-time indicator. | |
using | FFM_A = TFlagmark< FM_A > |
User A-flag compile-time indicator. | |
using | FFM_B = TFlagmark< FM_B > |
User B-flag compile-time indicator. | |
using | FFM_C = TFlagmark< FM_C > |
User C-flag compile-time indicator. | |
using | FFM_D = TFlagmark< FM_D > |
User D-flag compile-time indicator. | |
using | FFM_E = TFlagmark< FM_E > |
User E-flag compile-time indicator. | |
using | FFM_F = TFlagmark< FM_F > |
User F-flag compile-time indicator. | |
using | FFM_G = TFlagmark< FM_G > |
User G-flag compile-time indicator. | |
using | FFM_H = TFlagmark< FM_H > |
User H-flag compile-time indicator. | |
using | FFM_I = TFlagmark< FM_I > |
User I-flag compile-time indicator. | |
using | FFM_J = TFlagmark< FM_J > |
User J-flag compile-time indicator. | |
using | FFM_K = TFlagmark< FM_K > |
User K-flag compile-time indicator. | |
using | FFM_L = TFlagmark< FM_L > |
User L-flag compile-time indicator. | |
using | FFM_M = TFlagmark< FM_M > |
User M-flag compile-time indicator. | |
using | FFM_N = TFlagmark< FM_N > |
User N-flag compile-time indicator. | |
using | FFM_O = TFlagmark< FM_O > |
User O-flag compile-time indicator. | |
using | FFM_P = TFlagmark< FM_P > |
User P-flag compile-time indicator. | |
using | FFM_Q = TFlagmark< FM_Q > |
User Q-flag compile-time indicator. | |
using | FFM_R = TFlagmark< FM_R > |
User R-flag compile-time indicator. | |
using | FFM_S = TFlagmark< FM_S > |
User S-flag compile-time indicator. | |
using | FFM_T = TFlagmark< FM_T > |
User T-flag compile-time indicator. | |
using | FFM_U = TFlagmark< FM_U > |
User U-flag compile-time indicator. | |
using | FFM_V = TFlagmark< FM_V > |
User V-flag compile-time indicator. | |
using | FFM_W = TFlagmark< FM_W > |
User W-flag compile-time indicator. | |
using | FFM_X = TFlagmark< FM_X > |
User X-flag compile-time indicator. | |
using | FFM_Y = TFlagmark< FM_Y > |
User Y-flag compile-time indicator. | |
using | FFM_Z = TFlagmark< FM_Z > |
User Z-flag compile-time indicator. | |
using | FFM_AllUserLevel = TFlagmark< FM_AllUserLevel > |
All user-level flags compile-time indicator. | |
using | FFM_All = TFlagmark< FM_All > |
All-flags-on compile-time indicator. | |
Enumerations | |
enum class | EFlagmarkBit : uint8 { Stale = 0x0 UMETA(Hidden) , Booted = 0x1 , Online = 0x2 , Editor = 0x3 UMETA(Hidden) , DeferredDespawn = 0x4 UMETA(Hidden) , SystemLevelMax = DeferredDespawn UMETA(Hidden) , A = 0x5 , FirstUserLevel = A UMETA(Hidden) , B , C , D , E , F , G , H , I , J , K , L , M , N , O , P , Q , R , S , T , U , V , W , X , Y , Z , Max = Z UMETA(Hidden) } |
Flagmark bit identifiers. More... | |
enum | EFlagmark { FM_None = 0x0 UMETA(DisplayName = "None", Hidden) , FM_Stale = 1 << (int)EFlagmarkBit::Stale UMETA(Hidden) , FM_Booted = 1 << (int)EFlagmarkBit::Booted UMETA(DisplayName = "Booted") , FM_Online = 1 << (int)EFlagmarkBit::Online UMETA(DisplayName = "Online") , FM_Editor = 1 << (int)EFlagmarkBit::Editor UMETA(Hidden) , FM_DeferredDespawn = 1 << (int)EFlagmarkBit::DeferredDespawn UMETA(Hidden) , FM_AllSystemLevel = FM_Stale | FM_Booted | FM_Online | FM_Editor | FM_DeferredDespawn UMETA(Hidden) , FM_A = 1 << (int)EFlagmarkBit::A UMETA(DisplayName = "A") , FM_B = 1 << (int)EFlagmarkBit::B UMETA(DisplayName = "B") , FM_C = 1 << (int)EFlagmarkBit::C UMETA(DisplayName = "C") , FM_D = 1 << (int)EFlagmarkBit::D UMETA(DisplayName = "D") , FM_E = 1 << (int)EFlagmarkBit::E UMETA(DisplayName = "E") , FM_F = 1 << (int)EFlagmarkBit::F UMETA(DisplayName = "F") , FM_G = 1 << (int)EFlagmarkBit::G UMETA(DisplayName = "G") , FM_H = 1 << (int)EFlagmarkBit::H UMETA(DisplayName = "H") , FM_I = 1 << (int)EFlagmarkBit::I UMETA(DisplayName = "I") , FM_J = 1 << (int)EFlagmarkBit::J UMETA(DisplayName = "J") , FM_K = 1 << (int)EFlagmarkBit::K UMETA(DisplayName = "K") , FM_L = 1 << (int)EFlagmarkBit::L UMETA(DisplayName = "L") , FM_M = 1 << (int)EFlagmarkBit::M UMETA(DisplayName = "M") , FM_N = 1 << (int)EFlagmarkBit::N UMETA(DisplayName = "N") , FM_O = 1 << (int)EFlagmarkBit::O UMETA(DisplayName = "O") , FM_P = 1 << (int)EFlagmarkBit::P UMETA(DisplayName = "P") , FM_Q = 1 << (int)EFlagmarkBit::Q UMETA(DisplayName = "Q") , FM_R = 1 << (int)EFlagmarkBit::R UMETA(DisplayName = "R") , FM_S = 1 << (int)EFlagmarkBit::S UMETA(DisplayName = "S") , FM_T = 1 << (int)EFlagmarkBit::T UMETA(DisplayName = "T") , FM_U = 1 << (int)EFlagmarkBit::U UMETA(DisplayName = "U") , FM_V = 1 << (int)EFlagmarkBit::V UMETA(DisplayName = "V") , FM_W = 1 << (int)EFlagmarkBit::W UMETA(DisplayName = "W") , FM_X = 1 << (int)EFlagmarkBit::X UMETA(DisplayName = "X") , FM_Y = 1 << (int)EFlagmarkBit::Y UMETA(DisplayName = "Y") , FM_Z = 1 << (int)EFlagmarkBit::Z UMETA(DisplayName = "Z") , FM_AllUserLevel , FM_All = FM_AllSystemLevel | FM_AllUserLevel UMETA(Hidden) } |
The universal flagmark functionality. More... | |
Functions | |
APPARATUSRUNTIME_API UEnum * | GetFlagmarkBitClass () |
Get the boot flagmark bit class. | |
FString | ToString (const EFlagmarkBit FlagmarkBit) |
Convert a flagmark bit enum variable to a string. | |
constexpr bool | IsSystemLevel (const EFlagmarkBit Flag) |
Check if the flag is a system one and not allowed to be set by the user. | |
constexpr bool | IsUserLevel (const EFlagmarkBit Flag) |
Check if the flag is a user one and is allowed to be set by the user. | |
EFlagmark | FlagToEnum (const EFlagmarkBit Flag) |
EFlagmark & | operator-= (EFlagmark &Lhs, const EFlagmark Rhs) |
constexpr EFlagmark | operator- (EFlagmark Lhs, const EFlagmark Rhs) |
EFlagmark & | operator|= (EFlagmark &Lhs, const EFlagmarkBit Rhs) |
EFlagmark & | operator&= (EFlagmark &Lhs, const EFlagmarkBit Rhs) |
EFlagmark & | operator^= (EFlagmark &Lhs, const EFlagmarkBit Rhs) |
constexpr EFlagmark | operator| (EFlagmark Lhs, const EFlagmarkBit Rhs) |
constexpr EFlagmark | operator& (EFlagmark Lhs, const EFlagmarkBit Rhs) |
constexpr EFlagmark | operator^ (EFlagmark Lhs, const EFlagmarkBit Rhs) |
EFlagmark & | operator+= (EFlagmark &Lhs, const EFlagmarkBit Rhs) |
EFlagmark & | operator-= (EFlagmark &Lhs, const EFlagmarkBit Rhs) |
constexpr EFlagmark | operator- (EFlagmark Lhs, const EFlagmarkBit Rhs) |
constexpr EFlagmark | operator+ (EFlagmark Lhs, const EFlagmarkBit Rhs) |
constexpr EFlagmark | operator| (const EFlagmarkBit Lhs, const EFlagmarkBit Rhs) |
constexpr EFlagmark | operator& (const EFlagmarkBit Lhs, const EFlagmarkBit Rhs) |
template<typename T > | |
constexpr bool | IsFlagmarkType () |
Check if the type is actually a flagmark. | |
constexpr bool | HasSystemLevelFlags (const EFlagmark InFlagmark) |
Check if a flagmark contains any system-level flags. | |
constexpr bool | HasUserLevelFlags (const EFlagmark InFlagmark) |
Check if a flagmark contains any user-level flags. | |
APPARATUSRUNTIME_API UEnum * | GetFlagmarkClass () |
Get the flagmark's Unreal Engine's reflective class object. | |
APPARATUSRUNTIME_API FString | ToString (const EFlagmark Flagmark) |
Convert a flagmark enum variable to a string representation. | |
uint32 | GetTypeHash (const EFlagmark Flagmark) |
Hash the boot filter. | |
FArchive & | operator<< (FArchive &Archive, EFlagmark &Flagmark) |
Serialize a boot filter to an archive. | |
constexpr bool | Matches (const EFlagmark Flagmark, const EFlagmark Filter) |
Check if the flagmark matches a flagmark. | |
constexpr bool | Matches (const EFlagmark Flagmark, const EFlagmark Filter, const EFlagmark ExcludingFilter) |
Check if the flagmark matches an including and excluding flagmark. | |
using EFlagmarkType = __underlying_type( EFlagmark ) |
using FFM_AllSystemLevel = TFlagmark<FM_AllSystemLevel> |
All system-level flags compile-time indicator.
using FFM_AllUserLevel = TFlagmark<FM_AllUserLevel> |
All user-level flags compile-time indicator.
using FFM_Booted = TFlagmark<FM_Booted> |
Booted flag compile-time indicator.
Deferred despawn flag compile-time indicator.
using FFM_Editor = TFlagmark<FM_Editor> |
Editor flag compile-time indicator.
using FFM_Online = TFlagmark<FM_Online> |
Online flag compile-time indicator.
enum EFlagmark |
The universal flagmark functionality.
The flagmarks are checked during the iterating procedure, but the checks themselves are pretty trivial.
|
strong |
Flagmark bit identifiers.
|
inline |
|
inline |
Get the boot flagmark bit class.
|
inline |
Get the flagmark's Unreal Engine's reflective class object.
|
inline |
Hash the boot filter.
Check if a flagmark contains any system-level flags.
System-level flags can't be set by the user.
InFlagmark | The flagmark to examine. |
Check if a flagmark contains any user-level flags.
Only user-level flags can be set by the user.
InFlagmark | The flagmark to examine. |
Check if the type is actually a flagmark.
|
inlineconstexpr |
Check if the flag is a system one and not allowed to be set by the user.
Flag | The flag to examine. |
|
inlineconstexpr |
Check if the flag is a user one and is allowed to be set by the user.
Flag | The flag to examine. |
Check if the flagmark matches a flagmark.
|
inlineconstexpr |
Check if the flagmark matches an including and excluding flagmark.
|
inlineconstexpr |
|
inlineconstexpr |
|
inline |
|
inlineconstexpr |
|
inline |
|
inlineconstexpr |
|
inline |
|
inline |
Serialize a boot filter to an archive.
|
inlineconstexpr |
|
inline |
|
inlineconstexpr |
|
inlineconstexpr |
|
inline |
APPARATUSRUNTIME_API FString ToString | ( | const EFlagmark | Flagmark | ) |
Convert a flagmark enum variable to a string representation.
Flagmark | The flagmark to convert to a string. |
|
inline |
Convert a flagmark bit enum variable to a string.