aboutsummaryrefslogtreecommitdiff
path: root/src/list
diff options
context:
space:
mode:
authorAdrian Kummerlaender2015-01-29 19:13:39 +0100
committerAdrian Kummerlaender2015-01-29 19:13:39 +0100
commit5f98c3eb62f3085a69f8df36de663bb7c6107341 (patch)
tree9473c87198eea3cf01e7a1d0bfca48a45cdfbe03 /src/list
parent27b991ea23f71093b274b3ff1692c47274eb4d1d (diff)
downloadTypeAsValue-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/list')
-rw-r--r--src/list/list.h8
1 files changed, 8 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>;