17#ifndef MIR_GEOMETRY_SIZE_H_
18#define MIR_GEOMETRY_SIZE_H_
40 constexpr Size() noexcept {}
41 constexpr Size(
Size const&)
noexcept =
default;
51 template<
typename W
idthType,
typename HeightType>
73 out <<
'(' << value.
width <<
", " << value.
height <<
')';
77template<
typename T,
typename Scalar>
83template<
typename T,
typename Scalar>
89template<
typename T,
typename Scalar>
98 return Size<T>{point.
x.as_value(), point.
y.as_value()};
std::ostream & operator<<(std::ostream &out, Value< T, Tag > const &value)
Definition dimensions.h:118
constexpr bool operator==(Displacement< T > const &lhs, Displacement< T > const &rhs)
Definition displacement.h:75
constexpr Width< T > operator/(Width< T > const &w, Scalar scale)
Definition dimensions.h:224
constexpr Width< T > operator*(Scalar scale, Width< T > const &w)
Definition dimensions.h:206
constexpr Size< T > as_size(Displacement< T > const &disp)
Definition displacement.h:172
constexpr bool operator!=(Displacement< T > const &lhs, Displacement< T > const &rhs)
Definition displacement.h:81
constexpr Point< T > as_point(Displacement< T > const &disp)
Definition displacement.h:184
generic::Point< int > Point
Definition forward.h:81
generic::Displacement< int > Displacement
Definition forward.h:83
Definition splash_session.h:22
X< T > x
Definition point.h:54
Y< T > y
Definition point.h:55
Size & operator=(Size const &) noexcept=default
constexpr Size() noexcept
Definition size.h:40
constexpr Size(Size< U > const &other) noexcept
Definition size.h:45
constexpr Size(WidthType &&width, HeightType &&height) noexcept
Definition size.h:52
T ValueType
Definition size.h:38
Height< T > height
Definition size.h:55
constexpr Size(Size const &) noexcept=default
Width< T > width
Definition size.h:54
Wraps a geometry value and prevents it from being accidentally used for invalid operations (such as s...
Definition dimensions.h:37