summaryrefslogtreecommitdiff
path: root/src/generic/fwd.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/generic/fwd.hpp')
-rw-r--r--src/generic/fwd.hpp32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/generic/fwd.hpp b/src/generic/fwd.hpp
index 3215903..31fb13a 100644
--- a/src/generic/fwd.hpp
+++ b/src/generic/fwd.hpp
@@ -20,10 +20,42 @@
#include "../sanity.hpp"
+#include "../strings/fwd.hpp" // rank 1
+#include "../compat/fwd.hpp" // rank 2
+// generic/fwd.hpp is rank 3
+
namespace tmwa
{
// meh, add more when I feel like it
template<class T>
class dumb_ptr;
+
+template<class K, class V>
+class Map;
+template<class K, class V>
+class DMap;
+template<class K, class V>
+class UPMap;
+
+class InternPool;
+
+// arrays are complicated
+template<class I, I be, I en>
+struct ExclusiveIndexing;
+template<size_t n>
+using SimpleIndexing = ExclusiveIndexing<size_t, 0, n>;
+template<class I, I lo, I hi>
+struct InclusiveIndexing;
+template<class E, E n=E::COUNT>
+struct EnumIndexing;
+template<class I, size_t limit>
+struct InventoryIndexing;
+template<class T, class I>
+struct GenericArray;
+template<class T, size_t n>
+using Array = GenericArray<T, SimpleIndexing<n>>;
+
+template<class T, class E, E max>
+using earray = GenericArray<T, EnumIndexing<E, max>>;
} // namespace tmwa