Wraps a geometry value and prevents it from being accidentally used for invalid operations (such as setting a width to a height or adding two x positions together). Of course, explicit casts are possible to get around these restrictions (see the as_*() functions).
More...
|
template<typename Q = T> |
constexpr std::enable_if< std::is_integral< Q >::value, int >::type | as_int () const |
|
template<typename Q = T> |
constexpr std::enable_if< std::is_integral< Q >::value, uint32_t >::type | as_uint32_t () const |
|
constexpr T | as_value () const noexcept |
|
constexpr | Value () noexcept |
|
Value & | operator= (Value const &that) noexcept |
|
constexpr | Value (Value const &that) noexcept |
|
template<typename U > |
constexpr | Value (Value< U, Tag > const &value) noexcept |
|
template<typename U , typename std::enable_if< std::is_scalar< U >::value, bool >::type = true> |
constexpr | Value (U const &value) noexcept |
|
constexpr auto | operator== (Value< T, Tag > const &rhs) const -> bool |
|
constexpr auto | operator!= (Value< T, Tag > const &rhs) const -> bool |
|
constexpr auto | operator<= (Value< T, Tag > const &rhs) const -> bool |
|
constexpr auto | operator>= (Value< T, Tag > const &rhs) const -> bool |
|
constexpr auto | operator< (Value< T, Tag > const &rhs) const -> bool |
|
constexpr auto | operator> (Value< T, Tag > const &rhs) const -> bool |
|
template<typename T, typename Tag>
struct mir::geometry::generic::Value< T, Tag >
Wraps a geometry value and prevents it from being accidentally used for invalid operations (such as setting a width to a height or adding two x positions together). Of course, explicit casts are possible to get around these restrictions (see the as_*() functions).