diff options
author | Adrian Kummerlaender | 2015-01-29 19:13:39 +0100 |
---|---|---|
committer | Adrian Kummerlaender | 2015-01-29 19:13:39 +0100 |
commit | 5f98c3eb62f3085a69f8df36de663bb7c6107341 (patch) | |
tree | 9473c87198eea3cf01e7a1d0bfca48a45cdfbe03 /src | |
parent | 27b991ea23f71093b274b3ff1692c47274eb4d1d (diff) | |
download | TypeAsValue-5f98c3eb62f3085a69f8df36de663bb7c6107341.tar TypeAsValue-5f98c3eb62f3085a69f8df36de663bb7c6107341.tar.gz TypeAsValue-5f98c3eb62f3085a69f8df36de663bb7c6107341.tar.bz2 TypeAsValue-5f98c3eb62f3085a69f8df36de663bb7c6107341.tar.lz TypeAsValue-5f98c3eb62f3085a69f8df36de663bb7c6107341.tar.xz TypeAsValue-5f98c3eb62f3085a69f8df36de663bb7c6107341.tar.zst TypeAsValue-5f98c3eb62f3085a69f8df36de663bb7c6107341.zip |
Added `ListOfType` list constructor alias
* enables construction of `Cons` structures using the same value type across all their elements
Diffstat (limited to 'src')
-rw-r--r-- | src/list/list.h | 8 | ||||
-rw-r--r-- | src/type.h | 3 |
2 files changed, 11 insertions, 0 deletions
diff --git a/src/list/list.h b/src/list/list.h index c03a0ef..66394fc 100644 --- a/src/list/list.h +++ b/src/list/list.h @@ -21,6 +21,14 @@ struct List<Head> { typedef Cons<Head, void> type; }; +template < + typename Type, + Type... Values +> +using ListOfType = List< + std::integral_constant<Type, Values>... +>; + template <typename Cons> using Head = Car<Cons>; @@ -14,6 +14,9 @@ using Size = std::integral_constant<std::size_t, Value>; template <bool Value> using Boolean = std::integral_constant<bool, Value>; +template <char Value> +using Char = std::integral_constant<char, Value>; + template < typename X, typename Y |