mirror of
https://github.com/RPCS3/rpcs3.git
synced 2024-11-22 18:53:28 +01:00
e9e87b8bd9
- Multiple header files where missing #includes to other headers that where used in the header. Correct header was included in correct order in source files which caused everything to compile. - Added missing #includes so header files correctly include all their dependencies and fixes problems with IDEs being unable to parse headers correctly due to missing symbols
35 lines
1.0 KiB
C++
35 lines
1.0 KiB
C++
#pragma once
|
|
|
|
#include <type_traits>
|
|
|
|
template<typename T1, typename T2> struct range_t
|
|
{
|
|
T1 _min; // first value
|
|
T2 _max; // second value
|
|
};
|
|
|
|
template<typename T1, typename T2> constexpr range_t<std::decay_t<T1>, std::decay_t<T2>> make_range(T1&& _min, T2&& _max)
|
|
{
|
|
return{ std::forward<T1>(_min), std::forward<T2>(_max) };
|
|
}
|
|
|
|
template<typename T1, typename T2, typename T> constexpr bool operator <(const range_t<T1, T2>& range, const T& value)
|
|
{
|
|
return range._min < value && range._max < value;
|
|
}
|
|
|
|
template<typename T1, typename T2, typename T> constexpr bool operator <(const T& value, const range_t<T1, T2>& range)
|
|
{
|
|
return value < range._min && value < range._max;
|
|
}
|
|
|
|
template<typename T1, typename T2, typename T> constexpr bool operator ==(const range_t<T1, T2>& range, const T& value)
|
|
{
|
|
return !(value < range._min) && !(range._max < value);
|
|
}
|
|
|
|
template<typename T1, typename T2, typename T> constexpr bool operator ==(const T& value, const range_t<T1, T2>& range)
|
|
{
|
|
return !(value < range._min) && !(range._max < value);
|
|
}
|