Skip to content

Commit e5556f9

Browse files
committed
template specializations in source files
1 parent 7a7d615 commit e5556f9

4 files changed

Lines changed: 106 additions & 104 deletions

File tree

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
#include "Marketplace/Marketplace_Enums.h"
2+
3+
template<>
4+
FString UMarketplaceEnumsExtensions::AsString<EOrderbookKind>(const EOrderbookKind OrderbookKind)
5+
{
6+
switch (OrderbookKind)
7+
{
8+
case EOrderbookKind::Sequence_Marketplace_V1:
9+
return FString("sequence_marketplace_v1");
10+
case EOrderbookKind::Sequence_Marketplace_V2:
11+
return FString("sequence_marketplace_v2");
12+
case EOrderbookKind::Blur:
13+
return FString("blur");
14+
case EOrderbookKind::Opensea:
15+
return FString("opensea");
16+
case EOrderbookKind::Looks_Rare:
17+
return FString("looks_rare");
18+
case EOrderbookKind::Reservoir:
19+
return FString("reservoir");
20+
case EOrderbookKind::X2Y2:
21+
return FString("x2y2");
22+
default: return FString("unknown");
23+
}
24+
}
25+
26+
template<>
27+
FString UMarketplaceEnumsExtensions::AsString<EMarketplacePropertyType>(const TEnumAsByte<EMarketplacePropertyType> PropertyType)
28+
{
29+
30+
switch (PropertyType)
31+
{
32+
case EMarketplacePropertyType::INT_M: return "INT";
33+
case EMarketplacePropertyType::STRING_M: return "STRING";
34+
case EMarketplacePropertyType::ARRAY_M: return "ARRAY";
35+
case EMarketplacePropertyType::GENERIC_M: return "GENERIC";
36+
default: return "Unknown";
37+
}
38+
}
39+
40+
template<>
41+
FString UMarketplaceEnumsExtensions::AsString<EMarketplaceKind>(const TEnumAsByte<EMarketplaceKind> MarketplaceKind)
42+
{
43+
switch (MarketplaceKind)
44+
{
45+
case EMarketplaceKind::SEQUENCE_MARKETPLACE_V1: return "sequence_marketplace_v1";
46+
case EMarketplaceKind::SEQUENCE_MARKETPLACE_V2: return "sequence_marketplace_v2";
47+
case EMarketplaceKind::OPENSEA: return "opensea";
48+
case EMarketplaceKind::MAGIC_EDEN: return "magic_eden";
49+
case EMarketplaceKind::MINTIFY: return "mintify";
50+
case EMarketplaceKind::LOOKS_RARE: return "looks_rare";
51+
case EMarketplaceKind::X2Y2: return "x2y2";
52+
case EMarketplaceKind::SUDO_SWAP: return "sudo_swap";
53+
case EMarketplaceKind::COINBASE: return "coinbase";
54+
case EMarketplaceKind::RARIBLE: return "rarible";
55+
case EMarketplaceKind::NFTX: return "nftx";
56+
case EMarketplaceKind::FOUNDATION: return "foundation";
57+
case EMarketplaceKind::MANIFOLD: return "manifold";
58+
case EMarketplaceKind::ZORA: return "zora";
59+
case EMarketplaceKind::BLUR: return "blur";
60+
case EMarketplaceKind::SUPER_RARE: return "super_rare";
61+
case EMarketplaceKind::OKX: return "okx";
62+
case EMarketplaceKind::ELEMENT: return "element";
63+
case EMarketplaceKind::AQUA_XYZ: return "aqua_xyz";
64+
case EMarketplaceKind::AURANFT_CO: return "auranft_co";
65+
66+
default: return "Unknown";
67+
}
68+
}
69+
70+
// Specialization for EMarketplaceKind
71+
template<>
72+
TArray<FString> UMarketplaceEnumsExtensions::EnumArrayToStringList<EMarketplaceKind>(const TArray<TEnumAsByte<EMarketplaceKind>>& MarketplaceKinds)
73+
{
74+
TArray<FString> StringArray;
75+
for (const TEnumAsByte<EMarketplaceKind>& Kind : MarketplaceKinds)
76+
{
77+
StringArray.Add(UMarketplaceEnumsExtensions::AsString(Kind));
78+
}
79+
return StringArray;
80+
}
81+
82+
// Specialization for EMarketplacePropertyType
83+
template<>
84+
TArray<FString> UMarketplaceEnumsExtensions::EnumArrayToStringList<EMarketplacePropertyType>(const TArray<TEnumAsByte<EMarketplacePropertyType>>& PropertyTypes)
85+
{
86+
TArray<FString> StringArray;
87+
for (const TEnumAsByte<EMarketplacePropertyType>& Type : PropertyTypes)
88+
{
89+
StringArray.Add(UMarketplaceEnumsExtensions::AsString(Type));
90+
}
91+
return StringArray;
92+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
#include "Sequence/Wallet_Enums.h"
2+
3+
template<>
4+
FString UMarketplaceWalletKindExtensions::AsString<EWalletKind>(const EWalletKind OrderbookKind)
5+
{
6+
switch (OrderbookKind)
7+
{
8+
case EWalletKind::Sequence:
9+
return FString("sequence");
10+
default:
11+
return FString("unknown");
12+
}
13+
}

Plugins/SequencePlugin/Source/SequencePlugin/Public/Marketplace/Marketplace_Enums.h

Lines changed: 1 addition & 92 deletions
Original file line numberDiff line numberDiff line change
@@ -83,109 +83,18 @@ enum class EOrderbookKind : uint8
8383

8484
// PropertyType Extensions
8585
UCLASS()
86-
class UMarketplaceEnumsExtensions : public UObject
86+
class SEQUENCEPLUGIN_API UMarketplaceEnumsExtensions : public UObject
8787
{
8888
GENERATED_BODY()
8989

9090
public:
9191

9292
template<typename EnumType>
9393
static FString AsString(EnumType EnumValue);
94-
95-
template<>
96-
FString AsString<EOrderbookKind>(const EOrderbookKind OrderbookKind)
97-
{
98-
switch (OrderbookKind)
99-
{
100-
case EOrderbookKind::Sequence_Marketplace_V1:
101-
return FString("sequence_marketplace_v1");
102-
case EOrderbookKind::Sequence_Marketplace_V2:
103-
return FString("sequence_marketplace_v2");
104-
case EOrderbookKind::Blur:
105-
return FString("blur");
106-
case EOrderbookKind::Opensea:
107-
return FString("opensea");
108-
case EOrderbookKind::Looks_Rare:
109-
return FString("looks_rare");
110-
case EOrderbookKind::Reservoir:
111-
return FString("reservoir");
112-
case EOrderbookKind::X2Y2:
113-
return FString("x2y2");
114-
default: return FString("unknown");
115-
}
116-
}
11794

11895
template<typename EnumType>
11996
static FString AsString(TEnumAsByte<EnumType> EnumValue);
12097

121-
template<>
122-
FString AsString<EMarketplacePropertyType>(const TEnumAsByte<EMarketplacePropertyType> PropertyType)
123-
{
124-
125-
switch (PropertyType)
126-
{
127-
case EMarketplacePropertyType::INT_M: return "INT";
128-
case EMarketplacePropertyType::STRING_M: return "STRING";
129-
case EMarketplacePropertyType::ARRAY_M: return "ARRAY";
130-
case EMarketplacePropertyType::GENERIC_M: return "GENERIC";
131-
default: return "Unknown";
132-
}
133-
}
134-
135-
template<>
136-
FString AsString<EMarketplaceKind>(const TEnumAsByte<EMarketplaceKind> MarketplaceKind)
137-
{
138-
switch (MarketplaceKind)
139-
{
140-
case EMarketplaceKind::SEQUENCE_MARKETPLACE_V1: return "sequence_marketplace_v1";
141-
case EMarketplaceKind::SEQUENCE_MARKETPLACE_V2: return "sequence_marketplace_v2";
142-
case EMarketplaceKind::OPENSEA: return "opensea";
143-
case EMarketplaceKind::MAGIC_EDEN: return "magic_eden";
144-
case EMarketplaceKind::MINTIFY: return "mintify";
145-
case EMarketplaceKind::LOOKS_RARE: return "looks_rare";
146-
case EMarketplaceKind::X2Y2: return "x2y2";
147-
case EMarketplaceKind::SUDO_SWAP: return "sudo_swap";
148-
case EMarketplaceKind::COINBASE: return "coinbase";
149-
case EMarketplaceKind::RARIBLE: return "rarible";
150-
case EMarketplaceKind::NFTX: return "nftx";
151-
case EMarketplaceKind::FOUNDATION: return "foundation";
152-
case EMarketplaceKind::MANIFOLD: return "manifold";
153-
case EMarketplaceKind::ZORA: return "zora";
154-
case EMarketplaceKind::BLUR: return "blur";
155-
case EMarketplaceKind::SUPER_RARE: return "super_rare";
156-
case EMarketplaceKind::OKX: return "okx";
157-
case EMarketplaceKind::ELEMENT: return "element";
158-
case EMarketplaceKind::AQUA_XYZ: return "aqua_xyz";
159-
case EMarketplaceKind::AURANFT_CO: return "auranft_co";
160-
161-
default: return "Unknown";
162-
}
163-
}
164-
16598
template<typename EnumType>
16699
static TArray<FString> EnumArrayToStringList(const TArray<TEnumAsByte<EnumType>>& EnumArray);
167-
168-
// Specialization for EMarketplaceKind
169-
template<>
170-
TArray<FString> EnumArrayToStringList<EMarketplaceKind>(const TArray<TEnumAsByte<EMarketplaceKind>>& MarketplaceKinds)
171-
{
172-
TArray<FString> StringArray;
173-
for (const TEnumAsByte<EMarketplaceKind>& Kind : MarketplaceKinds)
174-
{
175-
StringArray.Add(AsString(Kind));
176-
}
177-
return StringArray;
178-
}
179-
180-
// Specialization for EMarketplacePropertyType
181-
template<>
182-
TArray<FString> EnumArrayToStringList<EMarketplacePropertyType>(const TArray<TEnumAsByte<EMarketplacePropertyType>>& PropertyTypes)
183-
{
184-
TArray<FString> StringArray;
185-
for (const TEnumAsByte<EMarketplacePropertyType>& Type : PropertyTypes)
186-
{
187-
StringArray.Add(AsString(Type));
188-
}
189-
return StringArray;
190-
}
191100
};

Plugins/SequencePlugin/Source/SequencePlugin/Public/Sequence/Wallet_Enums.h

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -30,16 +30,4 @@ class UMarketplaceWalletKindExtensions : public UObject
3030

3131
template<typename EnumType>
3232
static FString AsString(EnumType EnumValue);
33-
34-
template<>
35-
FString AsString<EWalletKind>(const EWalletKind OrderbookKind)
36-
{
37-
switch (OrderbookKind)
38-
{
39-
case EWalletKind::Sequence:
40-
return FString("sequence");
41-
default: return FString("unknown");
42-
}
43-
}
44-
4533
};

0 commit comments

Comments
 (0)