12#include <AUI/Traits/concepts.h>
25template<
typename Property>
39#define AUI_DETAIL_BINARY_OP(op) \
40template<typename T, typename Rhs> \
41inline decltype(auto) operator op (const aui::PropertyModifier<T>& lhs, Rhs&& rhs) { \
42 return *lhs op std::forward<Rhs>(rhs); \
48AUI_DETAIL_BINARY_OP(==)
49AUI_DETAIL_BINARY_OP(!=)
50AUI_DETAIL_BINARY_OP(<=)
51AUI_DETAIL_BINARY_OP(>=)
52AUI_DETAIL_BINARY_OP(<)
53AUI_DETAIL_BINARY_OP(>)
56AUI_DETAIL_BINARY_OP(+)
57AUI_DETAIL_BINARY_OP(-)
58AUI_DETAIL_BINARY_OP(*)
59AUI_DETAIL_BINARY_OP(/)
60AUI_DETAIL_BINARY_OP(&)
61AUI_DETAIL_BINARY_OP(&&)
62AUI_DETAIL_BINARY_OP(|)
63AUI_DETAIL_BINARY_OP(||)
64AUI_DETAIL_BINARY_OP(<<)
65AUI_DETAIL_BINARY_OP(>>)
68AUI_DETAIL_BINARY_OP(+=)
69AUI_DETAIL_BINARY_OP(-=)
70AUI_DETAIL_BINARY_OP(*=)
71AUI_DETAIL_BINARY_OP(/=)
72AUI_DETAIL_BINARY_OP(&=)
73AUI_DETAIL_BINARY_OP(|=)
74AUI_DETAIL_BINARY_OP(<<=)
75AUI_DETAIL_BINARY_OP(>>=)
77#undef AUI_DETAIL_BINARY_OP
Temporary transparent object that gains write access to underlying property's value,...
Definition PropertyModifier.h:26