確認したバージョンはUE4.27.2です。
ググれば出てくるのだが、よく忘れるので自分用メモ。
宣言側 (.h)
#include "Misc/EnumRange.h"
UENUM()
enum class EElementType : uint8
{
Earth,
Fire,
Wind,
Water,
Count UMETA(Hidden)
};
ENUM_RANGE_BY_COUNT(EElementType, EElementType::Count);
- ENUM_RANGE_BY_COUNT()マクロの他に ENUM_RANGE_BY_FIRST_AND_LAST()などがある。
- EnumRange.h
- 内部的には static const な変数を宣言するだけ。なので変な負荷はないだろう。
定義側 (.cpp)
for (EElementType ElementType : TEnumRange<EElementType>())
{
SettingArray.Add(LoadInitialSettings(ElementType));
}