summaryrefslogtreecommitdiffhomepage
path: root/compat
diff options
context:
space:
mode:
Diffstat (limited to 'compat')
-rw-r--r--compat/meta.hpp13
-rw-r--r--compat/sleep.cpp2
2 files changed, 15 insertions, 0 deletions
diff --git a/compat/meta.hpp b/compat/meta.hpp
index 11c5ca0f..a116cebc 100644
--- a/compat/meta.hpp
+++ b/compat/meta.hpp
@@ -45,6 +45,15 @@ namespace meta::detail {
{
using type = to<xs...>;
};
+
+ template<typename...> struct cons_;
+
+ template<template<typename...> class t, typename x, typename... xs>
+ struct cons_<t<xs...>, x>
+ {
+ using type = t<x, xs...>;
+ };
+
} // ns meta::detail
namespace meta {
@@ -66,5 +75,9 @@ namespace meta {
template<typename... xs>
using last = lift<first, reverse<xs...>>;
+
+ template<typename... xs>
+ using cons = detail::cons_<xs...>;
+
} // ns meta
diff --git a/compat/sleep.cpp b/compat/sleep.cpp
index 6a22adeb..4ec61db5 100644
--- a/compat/sleep.cpp
+++ b/compat/sleep.cpp
@@ -11,11 +11,13 @@ namespace portable
OTR_COMPAT_EXPORT void sleep(int milliseconds)
{
if (milliseconds > 0)
+ {
#ifdef _WIN32
Sleep(milliseconds);
#else
usleep(unsigned(milliseconds) * 1000U); // takes microseconds
#endif
+ }
}
}