Golias Engine
A C++ 20 'game engine' built with SDL3 with wide platform support.
type_alias.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "vector.h"
4 #include <array>
5 #include <map>
6 #include <memory>
7 #include <optional>
8 #include <queue>
9 #include <set>
10 #include <stack>
11 #include <string>
12 #include <unordered_map>
13 #include <unordered_set>
14 #include <variant>
15 
16 template <typename T>
18 
19 template<typename K, typename V>
20 using HashMap = std::unordered_map<K, V>;
21 
22 template<typename K, typename V>
23 using Map = std::map<K, V>;
24 
25 template<typename T>
26 using HashSet = std::unordered_set<T>;
27 
28 template<typename T>
29 using Set = std::set<T>;
30 
31 template<typename T, size_t N>
32 using Array = std::array<T, N>;
33 
34 template<typename T>
35 using Queue = std::queue<T>;
36 
37 template<typename T>
38 using Stack = std::stack<T>;
39 
40 template<typename T>
41 using Ref = std::shared_ptr<T>;
42 
43 template<typename T>
44 using WeakRef = std::weak_ptr<T>;
45 
46 template<typename T>
47 using Scope = std::unique_ptr<T>;
48 
49 template <typename T>
50 using Option = std::optional<T>;
51 
52 template <typename... Types>
53 using Variant = std::variant<Types...>;
Definition: vector.h:10
std::array< T, N > Array
Definition: type_alias.h:32
std::map< K, V > Map
Definition: type_alias.h:23
std::optional< T > Option
Definition: type_alias.h:50
std::variant< Types... > Variant
Definition: type_alias.h:53
std::unordered_map< K, V > HashMap
Definition: type_alias.h:20
std::queue< T > Queue
Definition: type_alias.h:35
std::unique_ptr< T > Scope
Definition: type_alias.h:47
std::set< T > Set
Definition: type_alias.h:29
std::unordered_set< T > HashSet
Definition: type_alias.h:26
std::stack< T > Stack
Definition: type_alias.h:38
std::shared_ptr< T > Ref
Definition: type_alias.h:41
std::weak_ptr< T > WeakRef
Definition: type_alias.h:44