ChessPlusPlus
WIP
cplusplus.com Community Project
|
Functions | |
template<typename T , typename U > | |
auto | operator!= (T const &t, U const &u) noexcept(noexcept(!(t==u))) -> typename std::enable_if< std::is_base_of< T, U >::value||std::is_base_of< U, T >::value, decltype(!(t==u)) >::type |
template<typename T > | |
bool | operator== (std::unique_ptr< T > const &up, T const *p) noexcept(noexcept(up.get()==p)) |
template<typename T > | |
bool | operator== (T const *p, std::unique_ptr< T > const &up) noexcept(noexcept(p==up.get())) |
|
noexcept |
Alternative global operator!=. Smarter template than the one in ::std::rel_ops, supports inheritance and non-bool return type.
T | the left-hand type. |
U | the right-hand type. |
t | the left-hand value. |
u | the right-hand value. |
|
noexcept |
Allows comparison of std::unique_ptr and pointer.
T | the type that std::unique_ptr wraps |
up | the std::unique_ptr |
p | the pointer |
|
noexcept |
Allows comparison of std::unique_ptr and pointer.
T | the type that std::unique_ptr wraps |
p | the pointer |
up | the std::unique_ptr |