diff --git a/BAN/include/BAN/Move.h b/BAN/include/BAN/Move.h index 1270874e5..fb731b03a 100644 --- a/BAN/include/BAN/Move.h +++ b/BAN/include/BAN/Move.h @@ -1,21 +1,10 @@ #pragma once +#include + namespace BAN { - template - struct RemoveReference { using type = T; }; - template - struct RemoveReference { using type = T; }; - template - struct RemoveReference { using type = T; }; - - template - struct IsLValueReference { static constexpr bool value = false; }; - template - struct IsLValueReference { static constexpr bool value = true; }; - - template constexpr typename RemoveReference::type&& Move(T&& arg) { diff --git a/BAN/include/BAN/Traits.h b/BAN/include/BAN/Traits.h new file mode 100644 index 000000000..1abda327b --- /dev/null +++ b/BAN/include/BAN/Traits.h @@ -0,0 +1,26 @@ +#pragma once + +namespace BAN +{ + + template + struct RemoveReference { using type = T; }; + template + struct RemoveReference { using type = T; }; + template + struct RemoveReference { using type = T; }; + + template + struct IsLValueReference { static constexpr bool value = false; }; + template + struct IsLValueReference { static constexpr bool value = true; }; + + + template + struct Less { constexpr bool operator()(const T& lhs, const T& rhs) const { return lhs < rhs; } }; + template + struct Equal { constexpr bool operator()(const T& lhs, const T& rhs) const { return lhs == rhs; } }; + template + struct Greater { constexpr bool operator()(const T& lhs, const T& rhs) const { return lhs > rhs; } }; + +} \ No newline at end of file