diff --git a/source/avocet/package.d b/source/avocet/package.d index 46d48fd..8cdec51 100644 --- a/source/avocet/package.d +++ b/source/avocet/package.d @@ -1,3 +1,4 @@ +/// Avocet auxillary assembly/disassembly library module avocet; // TODO: make pure diff --git a/source/tern/algorithm/package.d b/source/tern/algorithm/package.d index 2566d0a..b915d1a 100644 --- a/source/tern/algorithm/package.d +++ b/source/tern/algorithm/package.d @@ -1,6 +1,5 @@ module tern.algorithm; -public import tern.algorithm.enumerable; public import tern.algorithm.iteration; public import tern.algorithm.lazy_filter; public import tern.algorithm.lazy_map; diff --git a/source/tern/package.d b/source/tern/package.d index 1ba2411..9eefbb6 100644 --- a/source/tern/package.d +++ b/source/tern/package.d @@ -1,4 +1,4 @@ -/// The Tern library +/// Tern core library module tern; public import tern.algorithm; diff --git a/source/tern/typecons/atomic.d b/source/tern/typecons/atomic.d index 8f792f3..c33d1e7 100644 --- a/source/tern/typecons/atomic.d +++ b/source/tern/typecons/atomic.d @@ -1,5 +1,5 @@ /// Wrappers for atomics and specific side-channel attack mitigation -module tern.typecons.channel; +module tern.typecons.atomic; public import core.atomic; import core.sync.mutex; diff --git a/source/tern/typecons/variant.d b/source/tern/typecons/variant.d index 6060c88..a2cd712 100644 --- a/source/tern/typecons/variant.d +++ b/source/tern/typecons/variant.d @@ -1,4 +1,4 @@ -/// Constructions for `SumType`, `UnionType`, and `VadType` (variadic) +/// Constructions for `Box`, `SumType`, `UnionType`, and `VadType` (variadic) module tern.typecons.variant; import std.traits; @@ -6,6 +6,26 @@ import std.conv; import tern.codegen; import tern.meta; +private template supportedTypes() +{ + alias coreTypes = AliasSeq!(ubyte, byte, ushort, short, uint, int, ulong, long, bool, float, double, string, char, wstring, wchar, dstring, dchar, + ubyte[], byte[], ushort[], short[], uint[], int[], ulong[], long[], float[], double[], string[], wstring[], dstring[]); + alias supportedTypes = AliasSeq!(); + + static foreach (i; 1..256) + { + static foreach (T; coreTypes) + supportedTypes = AliasSeq!(supportedTypes, mixin(fullyQualifiedName!T~"["~i.to!string~"]")); + } +} + +public struct Box +{ +private: +final: + +} + // TODO: Fix /* public struct SumType(T...) {