summaryrefslogtreecommitdiff
path: root/euler/include/type_traits
diff options
context:
space:
mode:
Diffstat (limited to 'euler/include/type_traits')
-rw-r--r--euler/include/type_traits23
1 files changed, 23 insertions, 0 deletions
diff --git a/euler/include/type_traits b/euler/include/type_traits
new file mode 100644
index 0000000..fcea013
--- /dev/null
+++ b/euler/include/type_traits
@@ -0,0 +1,23 @@
+#pragma once
+
+namespace std {
+
+ template <class t>
+ struct remove_reference {
+ typedef t type;
+ };
+
+ template <class t>
+ struct remove_reference<t &> {
+ typedef t type;
+ };
+
+ template <class t>
+ struct remove_reference<t &&> {
+ typedef t type;
+ };
+
+ template <class t>
+ using remove_reference_t = typename remove_reference<t>::type;
+
+}