|
@@ -1,4 +1,5 @@
|
|
|
#pragma once
|
|
|
+#include <utility>
|
|
|
|
|
|
#include <types/cplusplus.hpp>
|
|
|
|
|
@@ -19,8 +20,8 @@ struct pair {
|
|
|
|
|
|
template <typename _key_type, typename _value_type>
|
|
|
constexpr pair(_key_type&& _key, _value_type&& _value)
|
|
|
- : key(forward<_key_type>(_key))
|
|
|
- , value(forward<_value_type>(_value))
|
|
|
+ : key(std::forward<_key_type>(_key))
|
|
|
+ , value(std::forward<_value_type>(_value))
|
|
|
{
|
|
|
}
|
|
|
|
|
@@ -34,8 +35,8 @@ struct pair {
|
|
|
}
|
|
|
template <typename _key_type, typename _value_type>
|
|
|
constexpr pair(pair<_key_type, _value_type>&& val)
|
|
|
- : key(move(val.key))
|
|
|
- , value(move(val.value))
|
|
|
+ : key(std::move(val.key))
|
|
|
+ , value(std::move(val.value))
|
|
|
{
|
|
|
static_assert(is_same<typename traits::decay<_key_type>::type, typename traits::decay<key_type>::type>::value);
|
|
|
static_assert(is_same<typename traits::decay<_value_type>::type, typename traits::decay<value_type>::type>::value);
|
|
@@ -46,8 +47,8 @@ struct pair {
|
|
|
{
|
|
|
}
|
|
|
constexpr pair(pair&& val)
|
|
|
- : key(move(val.key))
|
|
|
- , value(move(val.value))
|
|
|
+ : key(std::move(val.key))
|
|
|
+ , value(std::move(val.value))
|
|
|
{
|
|
|
}
|
|
|
constexpr pair& operator=(const pair& val)
|
|
@@ -57,8 +58,8 @@ struct pair {
|
|
|
}
|
|
|
constexpr pair& operator=(pair&& val)
|
|
|
{
|
|
|
- key = move(val.key);
|
|
|
- value = move(val.value);
|
|
|
+ key = std::move(val.key);
|
|
|
+ value = std::move(val.value);
|
|
|
}
|
|
|
|
|
|
constexpr bool key_eq(const pair& p)
|
|
@@ -86,7 +87,7 @@ template <typename T1, typename T2>
|
|
|
constexpr pair<typename traits::decay<T1>::type, typename traits::decay<T2>::type>
|
|
|
make_pair(T1&& t1, T2&& t2)
|
|
|
{
|
|
|
- return pair<typename traits::decay<T1>::type, typename traits::decay<T2>::type> { forward<T1>(t1), forward<T2>(t2) };
|
|
|
+ return pair<typename traits::decay<T1>::type, typename traits::decay<T2>::type> { std::forward<T1>(t1), std::forward<T2>(t2) };
|
|
|
}
|
|
|
|
|
|
} // namespace types
|