Harlinn.Windows 0.1
Loading...
Searching...
No Matches
Harlinn::Windows::RectangleT< RT > Class Template Reference

Provides a unified api for rectangle types. More...

#include <HWCommon.h>

Collaboration diagram for Harlinn::Windows::RectangleT< RT >:
[legend]

Public Types

using value_type = typename Internal::Traits<RT>::ValueType
 
using RectangleType = RT
 
using PointType = typename Internal::Traits<RT>::PointType
 
using SizeType = typename Internal::Traits<RT>::SizeType
 

Public Member Functions

constexpr RectangleT () noexcept
 
template<typename U >
requires Internal::HasLeftTopRightAndBottom<U,value_type>
constexpr RectangleT (const U &other) noexcept
 
template<typename U >
requires Internal::ImplementsLeftTopRightAndBottomFunctions<U, value_type>
constexpr RectangleT (const U &other) noexcept
 
template<typename A , typename B , typename C , typename D >
requires Internal::StaticCastable4To<A,B,C,D,value_type>
constexpr RectangleT (A left, B top, C right, D bottom) noexcept
 
template<typename A , typename B , typename C , typename D >
requires Internal::StaticCastable4To<A,B,C,D,value_type>
constexpr RectangleT (A left, B top, C right, D bottom, bool normalized) noexcept
 
template<typename P1 , typename P2 >
requires ( Internal::ImplementsXAndYFunctions<P1,value_type> && Internal::ImplementsXAndYFunctions<P2, value_type> )
constexpr RectangleT (const P1 &leftTop, const P2 &rightBottom) noexcept
 
template<typename P1 , typename P2 >
requires ( Internal::ImplementsXAndYFunctions<P1,value_type> && Internal::ImplementsXAndYFunctions<P2, value_type> )
constexpr RectangleT (const P1 &leftTop, const P2 &rightBottom, bool normalized) noexcept
 
template<typename P1 , typename P2 >
requires ( Internal::ImplementsXAndYFunctions<P1,value_type> && Internal::HasXAndY<P2, value_type> )
constexpr RectangleT (const P1 &leftTop, const P2 &rightBottom) noexcept
 
template<typename P1 , typename P2 >
requires ( Internal::ImplementsXAndYFunctions<P1,value_type> && Internal::HasXAndY<P2, value_type> )
constexpr RectangleT (const P1 &leftTop, const P2 &rightBottom, bool normalized) noexcept
 
template<typename P1 , typename P2 >
requires ( Internal::HasXAndY<P1,value_type> && Internal::ImplementsXAndYFunctions<P2, value_type> )
constexpr RectangleT (const P1 &leftTop, const P2 &rightBottom) noexcept
 
template<typename P1 , typename P2 >
requires ( Internal::HasXAndY<P1,value_type> && Internal::ImplementsXAndYFunctions<P2, value_type> )
constexpr RectangleT (const P1 &leftTop, const P2 &rightBottom, bool normalized) noexcept
 
template<typename P1 , typename P2 >
requires ( Internal::HasXAndY<P1,value_type> && Internal::HasXAndY<P2, value_type> )
constexpr RectangleT (const P1 &leftTop, const P2 &rightBottom) noexcept
 
template<typename P1 , typename P2 >
requires ( Internal::HasXAndY<P1,value_type> && Internal::HasXAndY<P2, value_type> )
constexpr RectangleT (const P1 &leftTop, const P2 &rightBottom, bool normalized) noexcept
 
template<typename P , typename S >
requires ( Internal::ImplementsXAndYFunctions<P,value_type> && Internal::ImplementsWidthAndHeightFunctions<S, value_type> )
constexpr RectangleT (const P &position, const S &size) noexcept
 
template<typename P , typename S >
requires ( Internal::ImplementsXAndYFunctions<P,value_type> && Internal::ImplementsWidthAndHeightFunctions<S, value_type> )
constexpr RectangleT (const P &position, const S &size, bool normalized) noexcept
 
template<typename P , typename S >
requires ( Internal::ImplementsXAndYFunctions<P, value_type>&& Internal::HasWidthAndHeight<S, value_type> )
constexpr RectangleT (const P &position, const S &size) noexcept
 
template<typename P , typename S >
requires ( Internal::ImplementsXAndYFunctions<P, value_type>&& Internal::HasWidthAndHeight<S, value_type> )
constexpr RectangleT (const P &position, const S &size, bool normalized) noexcept
 
template<typename P , typename S >
requires ( Internal::ImplementsXAndYFunctions<P, value_type>&& Internal::HasCXAndCY<S, value_type> )
constexpr RectangleT (const P &position, const S &size) noexcept
 
template<typename P , typename S >
requires ( Internal::ImplementsXAndYFunctions<P, value_type>&& Internal::HasCXAndCY<S, value_type> )
constexpr RectangleT (const P &position, const S &size, bool normalized) noexcept
 
template<typename P , typename S >
requires ( Internal::HasXAndY<P, value_type> && Internal::ImplementsWidthAndHeightFunctions<S, value_type> )
constexpr RectangleT (const P &position, const S &size) noexcept
 
template<typename P , typename S >
requires ( Internal::HasXAndY<P, value_type> && Internal::ImplementsWidthAndHeightFunctions<S, value_type> )
constexpr RectangleT (const P &position, const S &size, bool normalized) noexcept
 
template<typename P , typename S >
requires ( Internal::HasXAndY<P, value_type>&& Internal::HasWidthAndHeight<S, value_type> )
constexpr RectangleT (const P &position, const S &size) noexcept
 
template<typename P , typename S >
requires ( Internal::HasXAndY<P, value_type>&& Internal::HasWidthAndHeight<S, value_type> )
constexpr RectangleT (const P &position, const S &size, bool normalized) noexcept
 
template<typename P , typename S >
requires ( Internal::HasXAndY<P, value_type>&& Internal::HasCXAndCY<S, value_type> )
constexpr RectangleT (const P &position, const S &size) noexcept
 
template<typename P , typename S >
requires ( Internal::HasXAndY<P, value_type>&& Internal::HasCXAndCY<S, value_type> )
constexpr RectangleT (const P &position, const S &size, bool normalized) noexcept
 
template<typename U >
requires (Internal::ImplementsWidthAndHeightFunctions<U, value_type> && Internal::ImplementsLeftTopRightAndBottomFunctions<U, value_type> == false )
constexpr RectangleT (const U &size) noexcept
 
template<typename U >
requires Internal::HasWidthAndHeight<U, value_type>
constexpr RectangleT (const U &size) noexcept
 
template<typename U >
requires Internal::HasCXAndCY<U, value_type>
constexpr RectangleT (const U &size) noexcept
 
template<typename U >
requires Internal::StaticCastableTo<U, value_type>
 RectangleT (U size) noexcept
 
template<typename U >
requires Internal::HasLeftTopRightAndBottom<U,value_type>
constexpr RectangleToperator= (const U &other) noexcept
 
template<typename A , typename B , typename C , typename D >
requires Internal::StaticCastable4To<A, B, C, D, value_type>
constexpr void NormalizedAssign (A left, B top, C right, D bottom)
 
template<typename U , typename V >
requires Internal::ImplementsXAndYFunctions<U, value_type> && ( Internal::ImplementsLeftTopRightAndBottomFunctions<U, value_type> == false ) && Internal::ImplementsXAndYFunctions<V, value_type> && ( Internal::ImplementsLeftTopRightAndBottomFunctions<V, value_type> == false )
constexpr void NormalizedAssign (const U &leftTop, const V &rightBottom)
 
template<typename U , typename V >
requires Internal::ImplementsXAndYFunctions<U, value_type> && ( Internal::ImplementsLeftTopRightAndBottomFunctions<U, value_type> == false ) && Internal::ImplementsWidthAndHeightFunctions<V, value_type> && ( Internal::ImplementsLeftTopRightAndBottomFunctions<V, value_type> == false )
constexpr void NormalizedAssign (const U &leftTop, const V &size)
 
template<typename A , typename B , typename C , typename D >
requires Internal::StaticCastable4To<A, B, C, D, value_type>
constexpr void Assign (A left, B top, C right, D bottom)
 
template<typename U , typename V >
requires Internal::ImplementsXAndYFunctions<U, value_type> && ( Internal::ImplementsLeftTopRightAndBottomFunctions<U, value_type> == false ) && Internal::ImplementsXAndYFunctions<V, value_type> && ( Internal::ImplementsLeftTopRightAndBottomFunctions<V, value_type> == false )
constexpr void Assign (const U &leftTop, const V &rightBottom)
 
template<typename U , typename V >
requires Internal::ImplementsXAndYFunctions<U, value_type> && ( Internal::ImplementsLeftTopRightAndBottomFunctions<U, value_type> == false ) && Internal::ImplementsWidthAndHeightFunctions<V, value_type> && ( Internal::ImplementsLeftTopRightAndBottomFunctions<V, value_type> == false )
constexpr void Assign (const U &leftTop, const V &size)
 
template<typename X , typename Y >
requires Internal::StaticCastable2To<X, Y, value_type>
void Add (X x, Y y)
 
template<typename U >
requires Internal::ImplementsXAndYFunctions<U, value_type> && ( Internal::ImplementsLeftTopRightAndBottomFunctions<U, value_type> == false )
void Add (const U &point)
 
template<typename U >
requires Internal::HasXAndY<U, value_type>
void Add (const U &point)
 
template<typename A , typename B , typename C , typename D >
requires Internal::StaticCastable4To<A, B, C, D, value_type>
void Add (A left, B top, C right, D bottom)
 
template<typename U >
requires Internal::ImplementsLeftTopRightAndBottomFunctions<U, value_type>
void Add (const U &rectangle)
 
template<typename U >
requires Internal::HasLeftTopRightAndBottom<U, value_type>
void Add (const U &rectangle)
 
constexpr operator bool () const noexcept
 
constexpr bool operator== (const RectangleT &other) const noexcept
 
constexpr bool operator!= (const RectangleT &other) const noexcept
 
template<typename U >
requires Internal::StaticCastableTo<U, value_type>
constexpr RectangleToperator+= (U value)
 
template<typename U >
requires Internal::ImplementsXAndYFunctions<U, value_type>
constexpr RectangleToperator+= (const U &value)
 
template<typename U >
requires Internal::ImplementsWidthAndHeightFunctions<U, value_type>
constexpr RectangleToperator+= (const U &value)
 
template<typename U >
requires Internal::StaticCastableTo<U, value_type>
constexpr RectangleToperator-= (U value)
 
template<typename U >
requires Internal::ImplementsXAndYFunctions<U, value_type>
constexpr RectangleToperator-= (const U &value)
 
template<typename U >
requires Internal::ImplementsWidthAndHeightFunctions<U, value_type>
constexpr RectangleToperator-= (const U &value)
 
template<typename U >
requires Internal::StaticCastableTo<U, value_type>
constexpr RectangleToperator*= (U value)
 
template<typename U >
requires Internal::ImplementsXAndYFunctions<U, value_type>
constexpr RectangleToperator*= (const U &value)
 
template<typename U >
requires Internal::StaticCastableTo<U, value_type>
constexpr RectangleToperator/= (U value)
 
template<typename U >
requires Internal::ImplementsXAndYFunctions<U, value_type>
constexpr RectangleToperator/= (const U &value)
 
template<typename U >
requires Internal::StaticCastableTo<U, value_type>
constexpr RectangleT operator+ (U value) const
 
template<typename U >
requires Internal::ImplementsXAndYFunctions<U, value_type>
constexpr RectangleT operator+ (const U &value) const
 
template<typename U >
requires Internal::StaticCastableTo<U, value_type>
constexpr RectangleT operator- (U value) const
 
template<typename U >
requires Internal::ImplementsXAndYFunctions<U, value_type>
constexpr RectangleT operator- (U value) const
 
template<typename U >
requires Internal::StaticCastableTo<U, value_type>
constexpr RectangleT operator* (U value) const
 
template<typename U >
requires Internal::ImplementsXAndYFunctions<U, value_type>
constexpr RectangleT operator* (U value) const
 
template<typename U >
requires Internal::StaticCastableTo<U, value_type>
constexpr RectangleT operator/ (U value) const
 
template<typename U >
requires Internal::ImplementsXAndYFunctions<U, value_type>
constexpr RectangleT operator/ (U value) const
 
constexpr value_type X () const noexcept
 
template<typename U >
requires Internal::StaticCastableTo<U, value_type>
constexpr void SetX (U value) noexcept
 
constexpr value_type Y () const noexcept
 
template<typename U >
requires Internal::StaticCastableTo<U, value_type>
constexpr void SetY (U value) noexcept
 
value_type Width () const noexcept
 
template<typename U >
requires Internal::StaticCastableTo<U, value_type>
constexpr void SetWidth (U width) noexcept
 
value_type Height () const noexcept
 
template<typename U >
requires Internal::StaticCastableTo<U, value_type>
constexpr void SetHeight (U value) noexcept
 
constexpr value_type Left () const noexcept
 
template<typename U >
requires Internal::StaticCastableTo<U, value_type>
constexpr void SetLeft (U value) noexcept
 
template<typename U >
requires Internal::StaticCastableTo<U, value_type>
constexpr void AddToLeft (U value) noexcept
 
template<typename U >
requires Internal::StaticCastableTo<U, value_type>
constexpr void SubtractFromLeft (U value) noexcept
 
constexpr void SwapLeft (RectangleT &other) noexcept
 
constexpr value_type Top () const noexcept
 
template<typename U >
requires Internal::StaticCastableTo<U, value_type>
constexpr void SetTop (U value) noexcept
 
template<typename U >
requires Internal::StaticCastableTo<U, value_type>
constexpr void AddToTop (U value) noexcept
 
template<typename U >
requires Internal::StaticCastableTo<U, value_type>
constexpr void SubtractFromTop (U value) noexcept
 
constexpr void SwapTop (RectangleT &other) noexcept
 
constexpr value_type Right () const noexcept
 
template<typename U >
requires Internal::StaticCastableTo<U, value_type>
constexpr void SetRight (U value) noexcept
 
template<typename U >
requires Internal::StaticCastableTo<U, value_type>
constexpr void AddToRight (U value) noexcept
 
template<typename U >
requires Internal::StaticCastableTo<U, value_type>
constexpr void SubtractFromRight (U value) noexcept
 
constexpr void SwapRight (RectangleT &other) noexcept
 
template<typename U , typename V >
requires Internal::StaticCastable2To<U,V, value_type>
constexpr void SetLeftAndRight (U left, V right) noexcept
 
template<typename U >
requires Internal::StaticCastableTo<U,value_type>
constexpr void SetLeftAndRight (U value) noexcept
 
constexpr void SwapLeftAndRight () noexcept
 
constexpr value_type Bottom () const noexcept
 
template<typename U >
requires Internal::StaticCastableTo<U, value_type>
constexpr void SetBottom (U value) noexcept
 
template<typename U >
requires Internal::StaticCastableTo<U, value_type>
constexpr void AddToBottom (U value) noexcept
 
template<typename U >
requires Internal::StaticCastableTo<U, value_type>
constexpr void SubtractFromBottom (U value) noexcept
 
constexpr void SwapBottom (RectangleT &other) noexcept
 
template<typename U , typename V >
requires Internal::StaticCastable2To<U,V, value_type>
constexpr void SetTopAndBottom (U top, V bottom) noexcept
 
template<typename U >
requires Internal::StaticCastableTo<U,value_type>
constexpr void SetTopAndBottom (U value) noexcept
 
constexpr void SwapTopAndBottom () noexcept
 
constexpr PointType Position () const noexcept
 
template<typename U , typename V >
requires Internal::StaticCastable2To<U, V ,value_type>
constexpr void SetPosition (U x, V y) noexcept
 
template<typename U >
requires Internal::ImplementsXAndYFunctions<U, value_type>
constexpr void SetPosition (const U &pt) noexcept
 
template<typename U >
requires Internal::HasXAndY<U, value_type>
constexpr void SetPosition (const U &pt) noexcept
 
template<typename U , typename V >
requires Internal::StaticCastable2To<U, V ,value_type>
constexpr void Translate (U dx, V dy) noexcept
 
template<typename U >
requires Internal::ImplementsXAndYFunctions<U, value_type>
constexpr void Translate (const U &pt) noexcept
 
template<typename U >
requires Internal::ImplementsWidthAndHeightFunctions<U, value_type>
constexpr void Translate (const U &pt) noexcept
 
template<typename U >
requires Internal::HasXAndY<U, value_type>
constexpr void Translate (const U &pt) noexcept
 
template<typename U >
requires Internal::HasCXAndCY<U, value_type>
constexpr void Translate (const U &pt) noexcept
 
template<typename U >
requires Internal::StaticCastableTo<U, value_type>
void TranslateX (U dx)
 
template<typename U >
requires Internal::StaticCastableTo<U, value_type>
void AddToLeftAndRight (U dx)
 
template<typename U >
requires Internal::StaticCastableTo<U, value_type>
void SubtractFromLeftAndRight (U dx)
 
template<typename U >
requires Internal::StaticCastableTo<U, value_type>
void TranslateY (U dy)
 
template<typename U >
requires Internal::StaticCastableTo<U, value_type>
void AddToTopAndBottom (U dy)
 
template<typename U >
requires Internal::StaticCastableTo<U, value_type>
void SubtractFromTopAndBottom (U dy)
 
constexpr PointType LeftTop () const noexcept
 
template<typename U , typename V >
requires Internal::StaticCastable2To<U, V, value_type>
constexpr void SetLeftTop (U left, V top) noexcept
 
template<typename U >
requires Internal::ImplementsXAndYFunctions<U, value_type>
constexpr void SetLeftTop (const U &pt) noexcept
 
template<typename U >
requires Internal::HasXAndY<U, value_type>
constexpr void SetLeftTop (const U &pt) noexcept
 
constexpr PointType RightTop () const noexcept
 
template<typename U , typename V >
requires Internal::StaticCastable2To<U, V, value_type>
constexpr void SetRightTop (U right, V top) noexcept
 
template<typename U >
requires Internal::ImplementsXAndYFunctions<U, value_type>
constexpr void SetRightTop (const U &pt) noexcept
 
template<typename U >
requires Internal::HasXAndY<U, value_type>
constexpr void SetRightTop (const U &pt) noexcept
 
constexpr PointType LeftBottom () const noexcept
 
template<typename U , typename V >
requires Internal::StaticCastable2To<U, V, value_type>
constexpr void SetLeftBottom (U left, V bottom) noexcept
 
template<typename U >
requires Internal::ImplementsXAndYFunctions<U, value_type>
constexpr void SetLeftBottom (const U &pt) noexcept
 
template<typename U >
requires Internal::HasXAndY<U, value_type>
constexpr void SetLeftBottom (const U &pt) noexcept
 
constexpr PointType RightBottom () const noexcept
 
template<typename U , typename V >
requires Internal::StaticCastable2To<U, V, value_type>
constexpr void SetRightBottom (U right, V bottom) noexcept
 
template<typename U >
requires Internal::ImplementsXAndYFunctions<U, value_type>
constexpr void SetRightBottom (const U &pt) noexcept
 
template<typename U >
requires Internal::HasXAndY<U, value_type>
constexpr void SetRightBottom (const U &pt) noexcept
 
constexpr PointType Center () const noexcept
 
template<typename U , typename V >
requires Internal::StaticCastable2To<U, V, value_type>
constexpr void SetCenter (U x, V y) noexcept
 
template<typename U >
requires Internal::ImplementsXAndYFunctions<U, value_type>
constexpr void SetCenter (const U &pt) noexcept
 
template<typename U >
requires Internal::HasXAndY<U, value_type>
constexpr void SetCenter (const U &pt) noexcept
 
constexpr PointType LeftCenter () const noexcept
 
constexpr PointType RightCenter () const noexcept
 
constexpr PointType TopCenter () const noexcept
 
constexpr PointType BottomCenter () const noexcept
 
constexpr SizeType Size () const noexcept
 
constexpr value_type Area () const noexcept
 
template<typename U , typename V >
requires Internal::StaticCastable2To<U, V, value_type>
constexpr void SetSize (U width, V height) noexcept
 
template<typename U >
requires Internal::ImplementsWidthAndHeightFunctions<U, value_type>
constexpr void SetSize (const U &size) noexcept
 
template<typename U >
requires Internal::HasWidthAndHeight<U, value_type>
constexpr void SetSize (const U &size) noexcept
 
template<typename U >
requires Internal::StaticCastableTo<U, value_type>
constexpr void AddSize (U widthAndHeight) noexcept
 
template<typename U , typename V >
requires Internal::StaticCastable2To<U, V, value_type>
constexpr void AddSize (U width, V height) noexcept
 
template<typename U >
requires Internal::ImplementsWidthAndHeightFunctions<U, value_type>
constexpr void AddSize (const U &size) noexcept
 
template<typename U >
requires Internal::HasWidthAndHeight<U, value_type>
constexpr void AddSize (const U &size) noexcept
 
template<typename U >
requires Internal::StaticCastableTo<U, value_type>
constexpr void SubtractSize (U widthAndHeight) noexcept
 
template<typename U , typename V >
requires Internal::StaticCastable2To<U, V, value_type>
constexpr void SubtractSize (U width, V height) noexcept
 
template<typename U >
requires Internal::ImplementsWidthAndHeightFunctions<U, value_type>
constexpr void SubtractSize (const U &size) noexcept
 
template<typename U >
requires Internal::HasWidthAndHeight<U, value_type>
constexpr void SubtractSize (const U &size) noexcept
 
bool IsEmptyArea () const noexcept
 
bool IsEmpty () const noexcept
 
template<typename U , typename V >
requires Internal::StaticCastable2To<U, V, value_type>
constexpr bool Contains (U x, V y) const noexcept
 
template<typename A , typename B , typename C , typename D >
requires Internal::StaticCastable4To<A, B, C, D ,value_type>
constexpr bool Contains (A left, B top, C right, D bottom) const noexcept
 
template<typename U >
requires Internal::ImplementsXAndYFunctions<U,value_type> && ( Internal::ImplementsLeftTopRightAndBottomFunctions<U, value_type> == false )
constexpr bool Contains (const U &point) const noexcept
 
template<typename U >
requires Internal::HasXAndY<U,value_type>
constexpr bool Contains (const U &point) const noexcept
 
template<typename U >
requires Internal::ImplementsLeftTopRightAndBottomFunctions<U,value_type>
constexpr bool Contains (const U &rectangle) const noexcept
 
template<typename U >
requires Internal::HasLeftTopRightAndBottom<U,value_type>
constexpr bool Contains (const U &rectangle) const noexcept
 
template<typename A , typename B , typename C , typename D >
requires Internal::StaticCastable4To<A, B, C, D ,value_type>
constexpr bool Overlaps (A left, B top, C right, D bottom) const noexcept
 
template<typename U >
requires Internal::ImplementsLeftTopRightAndBottomFunctions<U, value_type>
constexpr bool Overlaps (const U &rectangle) const noexcept
 
template<typename U >
requires Internal::HasLeftTopRightAndBottom<U,value_type>
constexpr bool Overlaps (const U &rectangle) const noexcept
 
template<typename U , typename V >
requires Internal::StaticCastable2To<U, V, value_type>
void Inflate (U dx, V dy) noexcept
 
template<typename U >
requires Internal::StaticCastableTo<U, value_type>
void Inflate (U delta) noexcept
 
template<typename U >
requires Internal::ImplementsXAndYFunctions<U, value_type>
void Inflate (const U &point) noexcept
 
template<typename U >
requires Internal::HasXAndY<U, value_type>
void Inflate (const U &point) noexcept
 
template<typename U >
requires Internal::ImplementsWidthAndHeightFunctions<U, value_type>
void Inflate (const U &size) noexcept
 
template<typename U >
requires Internal::HasWidthAndHeight<U, value_type>
void Inflate (const U &size) noexcept
 
template<typename U >
requires Internal::HasCXAndCY<U, value_type>
void Inflate (const U &size) noexcept
 
template<typename A , typename B , typename C , typename D >
requires Internal::StaticCastable4To<A, B, C, D, value_type>
void IntersectWith (A left, B top, C right, D bottom)
 
template<typename U >
requires Internal::ImplementsLeftTopRightAndBottomFunctions<U, value_type>
void IntersectWith (const U &rectangle)
 
template<typename U >
requires Internal::HasLeftTopRightAndBottom<U, value_type>
void IntersectWith (const U &rectangle)
 
constexpr bool IsInverted () const noexcept
 
constexpr void Normalize () noexcept
 
constexpr operator RectangleType & () noexcept
 
constexpr operator const RectangleType & () const noexcept
 

Protected Attributes

value_type left_
 
value_type top_
 
value_type right_
 
value_type bottom_
 

Detailed Description

template<WindowsRectangleType RT>
class Harlinn::Windows::RectangleT< RT >

Provides a unified api for rectangle types.

Member Typedef Documentation

◆ PointType

template<WindowsRectangleType RT>
using Harlinn::Windows::RectangleT< RT >::PointType = typename Internal::Traits<RT>::PointType

◆ RectangleType

template<WindowsRectangleType RT>
using Harlinn::Windows::RectangleT< RT >::RectangleType = RT

◆ SizeType

template<WindowsRectangleType RT>
using Harlinn::Windows::RectangleT< RT >::SizeType = typename Internal::Traits<RT>::SizeType

◆ value_type

template<WindowsRectangleType RT>
using Harlinn::Windows::RectangleT< RT >::value_type = typename Internal::Traits<RT>::ValueType

Constructor & Destructor Documentation

◆ RectangleT() [1/29]

template<WindowsRectangleType RT>
Harlinn::Windows::RectangleT< RT >::RectangleT ( )
inlineconstexprnoexcept

◆ RectangleT() [2/29]

template<WindowsRectangleType RT>
template<typename U >
requires Internal::HasLeftTopRightAndBottom<U,value_type>
Harlinn::Windows::RectangleT< RT >::RectangleT ( const U & other)
inlineconstexprnoexcept

◆ RectangleT() [3/29]

template<WindowsRectangleType RT>
template<typename U >
requires Internal::ImplementsLeftTopRightAndBottomFunctions<U, value_type>
Harlinn::Windows::RectangleT< RT >::RectangleT ( const U & other)
inlineconstexprnoexcept

◆ RectangleT() [4/29]

template<WindowsRectangleType RT>
template<typename A , typename B , typename C , typename D >
requires Internal::StaticCastable4To<A,B,C,D,value_type>
Harlinn::Windows::RectangleT< RT >::RectangleT ( A left,
B top,
C right,
D bottom )
inlineconstexprnoexcept

◆ RectangleT() [5/29]

template<WindowsRectangleType RT>
template<typename A , typename B , typename C , typename D >
requires Internal::StaticCastable4To<A,B,C,D,value_type>
Harlinn::Windows::RectangleT< RT >::RectangleT ( A left,
B top,
C right,
D bottom,
bool normalized )
inlineconstexprnoexcept

◆ RectangleT() [6/29]

template<WindowsRectangleType RT>
template<typename P1 , typename P2 >
requires ( Internal::ImplementsXAndYFunctions<P1,value_type> && Internal::ImplementsXAndYFunctions<P2, value_type> )
Harlinn::Windows::RectangleT< RT >::RectangleT ( const P1 & leftTop,
const P2 & rightBottom )
inlineconstexprnoexcept

◆ RectangleT() [7/29]

template<WindowsRectangleType RT>
template<typename P1 , typename P2 >
requires ( Internal::ImplementsXAndYFunctions<P1,value_type> && Internal::ImplementsXAndYFunctions<P2, value_type> )
Harlinn::Windows::RectangleT< RT >::RectangleT ( const P1 & leftTop,
const P2 & rightBottom,
bool normalized )
inlineconstexprnoexcept

◆ RectangleT() [8/29]

template<WindowsRectangleType RT>
template<typename P1 , typename P2 >
requires ( Internal::ImplementsXAndYFunctions<P1,value_type> && Internal::HasXAndY<P2, value_type> )
Harlinn::Windows::RectangleT< RT >::RectangleT ( const P1 & leftTop,
const P2 & rightBottom )
inlineconstexprnoexcept

◆ RectangleT() [9/29]

template<WindowsRectangleType RT>
template<typename P1 , typename P2 >
requires ( Internal::ImplementsXAndYFunctions<P1,value_type> && Internal::HasXAndY<P2, value_type> )
Harlinn::Windows::RectangleT< RT >::RectangleT ( const P1 & leftTop,
const P2 & rightBottom,
bool normalized )
inlineconstexprnoexcept

◆ RectangleT() [10/29]

template<WindowsRectangleType RT>
template<typename P1 , typename P2 >
requires ( Internal::HasXAndY<P1,value_type> && Internal::ImplementsXAndYFunctions<P2, value_type> )
Harlinn::Windows::RectangleT< RT >::RectangleT ( const P1 & leftTop,
const P2 & rightBottom )
inlineconstexprnoexcept

◆ RectangleT() [11/29]

template<WindowsRectangleType RT>
template<typename P1 , typename P2 >
requires ( Internal::HasXAndY<P1,value_type> && Internal::ImplementsXAndYFunctions<P2, value_type> )
Harlinn::Windows::RectangleT< RT >::RectangleT ( const P1 & leftTop,
const P2 & rightBottom,
bool normalized )
inlineconstexprnoexcept

◆ RectangleT() [12/29]

template<WindowsRectangleType RT>
template<typename P1 , typename P2 >
requires ( Internal::HasXAndY<P1,value_type> && Internal::HasXAndY<P2, value_type> )
Harlinn::Windows::RectangleT< RT >::RectangleT ( const P1 & leftTop,
const P2 & rightBottom )
inlineconstexprnoexcept

◆ RectangleT() [13/29]

template<WindowsRectangleType RT>
template<typename P1 , typename P2 >
requires ( Internal::HasXAndY<P1,value_type> && Internal::HasXAndY<P2, value_type> )
Harlinn::Windows::RectangleT< RT >::RectangleT ( const P1 & leftTop,
const P2 & rightBottom,
bool normalized )
inlineconstexprnoexcept

◆ RectangleT() [14/29]

template<WindowsRectangleType RT>
template<typename P , typename S >
requires ( Internal::ImplementsXAndYFunctions<P,value_type> && Internal::ImplementsWidthAndHeightFunctions<S, value_type> )
Harlinn::Windows::RectangleT< RT >::RectangleT ( const P & position,
const S & size )
inlineconstexprnoexcept

◆ RectangleT() [15/29]

template<WindowsRectangleType RT>
template<typename P , typename S >
requires ( Internal::ImplementsXAndYFunctions<P,value_type> && Internal::ImplementsWidthAndHeightFunctions<S, value_type> )
Harlinn::Windows::RectangleT< RT >::RectangleT ( const P & position,
const S & size,
bool normalized )
inlineconstexprnoexcept

◆ RectangleT() [16/29]

template<WindowsRectangleType RT>
template<typename P , typename S >
requires ( Internal::ImplementsXAndYFunctions<P, value_type>&& Internal::HasWidthAndHeight<S, value_type> )
Harlinn::Windows::RectangleT< RT >::RectangleT ( const P & position,
const S & size )
inlineconstexprnoexcept

◆ RectangleT() [17/29]

template<WindowsRectangleType RT>
template<typename P , typename S >
requires ( Internal::ImplementsXAndYFunctions<P, value_type>&& Internal::HasWidthAndHeight<S, value_type> )
Harlinn::Windows::RectangleT< RT >::RectangleT ( const P & position,
const S & size,
bool normalized )
inlineconstexprnoexcept

◆ RectangleT() [18/29]

template<WindowsRectangleType RT>
template<typename P , typename S >
requires ( Internal::ImplementsXAndYFunctions<P, value_type>&& Internal::HasCXAndCY<S, value_type> )
Harlinn::Windows::RectangleT< RT >::RectangleT ( const P & position,
const S & size )
inlineconstexprnoexcept

◆ RectangleT() [19/29]

template<WindowsRectangleType RT>
template<typename P , typename S >
requires ( Internal::ImplementsXAndYFunctions<P, value_type>&& Internal::HasCXAndCY<S, value_type> )
Harlinn::Windows::RectangleT< RT >::RectangleT ( const P & position,
const S & size,
bool normalized )
inlineconstexprnoexcept

◆ RectangleT() [20/29]

template<WindowsRectangleType RT>
template<typename P , typename S >
requires ( Internal::HasXAndY<P, value_type> && Internal::ImplementsWidthAndHeightFunctions<S, value_type> )
Harlinn::Windows::RectangleT< RT >::RectangleT ( const P & position,
const S & size )
inlineconstexprnoexcept

◆ RectangleT() [21/29]

template<WindowsRectangleType RT>
template<typename P , typename S >
requires ( Internal::HasXAndY<P, value_type> && Internal::ImplementsWidthAndHeightFunctions<S, value_type> )
Harlinn::Windows::RectangleT< RT >::RectangleT ( const P & position,
const S & size,
bool normalized )
inlineconstexprnoexcept

◆ RectangleT() [22/29]

template<WindowsRectangleType RT>
template<typename P , typename S >
requires ( Internal::HasXAndY<P, value_type>&& Internal::HasWidthAndHeight<S, value_type> )
Harlinn::Windows::RectangleT< RT >::RectangleT ( const P & position,
const S & size )
inlineconstexprnoexcept

◆ RectangleT() [23/29]

template<WindowsRectangleType RT>
template<typename P , typename S >
requires ( Internal::HasXAndY<P, value_type>&& Internal::HasWidthAndHeight<S, value_type> )
Harlinn::Windows::RectangleT< RT >::RectangleT ( const P & position,
const S & size,
bool normalized )
inlineconstexprnoexcept

◆ RectangleT() [24/29]

template<WindowsRectangleType RT>
template<typename P , typename S >
requires ( Internal::HasXAndY<P, value_type>&& Internal::HasCXAndCY<S, value_type> )
Harlinn::Windows::RectangleT< RT >::RectangleT ( const P & position,
const S & size )
inlineconstexprnoexcept

◆ RectangleT() [25/29]

template<WindowsRectangleType RT>
template<typename P , typename S >
requires ( Internal::HasXAndY<P, value_type>&& Internal::HasCXAndCY<S, value_type> )
Harlinn::Windows::RectangleT< RT >::RectangleT ( const P & position,
const S & size,
bool normalized )
inlineconstexprnoexcept

◆ RectangleT() [26/29]

template<WindowsRectangleType RT>
template<typename U >
requires (Internal::ImplementsWidthAndHeightFunctions<U, value_type> && Internal::ImplementsLeftTopRightAndBottomFunctions<U, value_type> == false )
Harlinn::Windows::RectangleT< RT >::RectangleT ( const U & size)
inlineconstexprnoexcept

◆ RectangleT() [27/29]

template<WindowsRectangleType RT>
template<typename U >
requires Internal::HasWidthAndHeight<U, value_type>
Harlinn::Windows::RectangleT< RT >::RectangleT ( const U & size)
inlineconstexprnoexcept

◆ RectangleT() [28/29]

template<WindowsRectangleType RT>
template<typename U >
requires Internal::HasCXAndCY<U, value_type>
Harlinn::Windows::RectangleT< RT >::RectangleT ( const U & size)
inlineconstexprnoexcept

◆ RectangleT() [29/29]

template<WindowsRectangleType RT>
template<typename U >
requires Internal::StaticCastableTo<U, value_type>
Harlinn::Windows::RectangleT< RT >::RectangleT ( U size)
inlineexplicitnoexcept

Member Function Documentation

◆ Add() [1/6]

template<WindowsRectangleType RT>
template<typename A , typename B , typename C , typename D >
requires Internal::StaticCastable4To<A, B, C, D, value_type>
void Harlinn::Windows::RectangleT< RT >::Add ( A left,
B top,
C right,
D bottom )
inline

◆ Add() [2/6]

template<WindowsRectangleType RT>
template<typename U >
requires Internal::ImplementsXAndYFunctions<U, value_type> && ( Internal::ImplementsLeftTopRightAndBottomFunctions<U, value_type> == false )
void Harlinn::Windows::RectangleT< RT >::Add ( const U & point)
inline

◆ Add() [3/6]

template<WindowsRectangleType RT>
template<typename U >
requires Internal::HasXAndY<U, value_type>
void Harlinn::Windows::RectangleT< RT >::Add ( const U & point)
inline

◆ Add() [4/6]

template<WindowsRectangleType RT>
template<typename U >
requires Internal::ImplementsLeftTopRightAndBottomFunctions<U, value_type>
void Harlinn::Windows::RectangleT< RT >::Add ( const U & rectangle)
inline

◆ Add() [5/6]

template<WindowsRectangleType RT>
template<typename U >
requires Internal::HasLeftTopRightAndBottom<U, value_type>
void Harlinn::Windows::RectangleT< RT >::Add ( const U & rectangle)
inline

◆ Add() [6/6]

template<WindowsRectangleType RT>
template<typename X , typename Y >
requires Internal::StaticCastable2To<X, Y, value_type>
void Harlinn::Windows::RectangleT< RT >::Add ( X x,
Y y )
inline

◆ AddSize() [1/4]

template<WindowsRectangleType RT>
template<typename U >
requires Internal::ImplementsWidthAndHeightFunctions<U, value_type>
void Harlinn::Windows::RectangleT< RT >::AddSize ( const U & size)
inlineconstexprnoexcept

◆ AddSize() [2/4]

template<WindowsRectangleType RT>
template<typename U >
requires Internal::HasWidthAndHeight<U, value_type>
void Harlinn::Windows::RectangleT< RT >::AddSize ( const U & size)
inlineconstexprnoexcept

◆ AddSize() [3/4]

template<WindowsRectangleType RT>
template<typename U , typename V >
requires Internal::StaticCastable2To<U, V, value_type>
void Harlinn::Windows::RectangleT< RT >::AddSize ( U width,
V height )
inlineconstexprnoexcept

◆ AddSize() [4/4]

template<WindowsRectangleType RT>
template<typename U >
requires Internal::StaticCastableTo<U, value_type>
void Harlinn::Windows::RectangleT< RT >::AddSize ( U widthAndHeight)
inlineconstexprnoexcept

◆ AddToBottom()

template<WindowsRectangleType RT>
template<typename U >
requires Internal::StaticCastableTo<U, value_type>
void Harlinn::Windows::RectangleT< RT >::AddToBottom ( U value)
inlineconstexprnoexcept

◆ AddToLeft()

template<WindowsRectangleType RT>
template<typename U >
requires Internal::StaticCastableTo<U, value_type>
void Harlinn::Windows::RectangleT< RT >::AddToLeft ( U value)
inlineconstexprnoexcept

◆ AddToLeftAndRight()

template<WindowsRectangleType RT>
template<typename U >
requires Internal::StaticCastableTo<U, value_type>
void Harlinn::Windows::RectangleT< RT >::AddToLeftAndRight ( U dx)
inline

◆ AddToRight()

template<WindowsRectangleType RT>
template<typename U >
requires Internal::StaticCastableTo<U, value_type>
void Harlinn::Windows::RectangleT< RT >::AddToRight ( U value)
inlineconstexprnoexcept

◆ AddToTop()

template<WindowsRectangleType RT>
template<typename U >
requires Internal::StaticCastableTo<U, value_type>
void Harlinn::Windows::RectangleT< RT >::AddToTop ( U value)
inlineconstexprnoexcept

◆ AddToTopAndBottom()

template<WindowsRectangleType RT>
template<typename U >
requires Internal::StaticCastableTo<U, value_type>
void Harlinn::Windows::RectangleT< RT >::AddToTopAndBottom ( U dy)
inline

◆ Area()

template<WindowsRectangleType RT>
value_type Harlinn::Windows::RectangleT< RT >::Area ( ) const
inlineconstexprnoexcept

◆ Assign() [1/3]

template<WindowsRectangleType RT>
template<typename A , typename B , typename C , typename D >
requires Internal::StaticCastable4To<A, B, C, D, value_type>
void Harlinn::Windows::RectangleT< RT >::Assign ( A left,
B top,
C right,
D bottom )
inlineconstexpr

◆ Assign() [2/3]

template<WindowsRectangleType RT>
template<typename U , typename V >
requires Internal::ImplementsXAndYFunctions<U, value_type> && ( Internal::ImplementsLeftTopRightAndBottomFunctions<U, value_type> == false ) && Internal::ImplementsXAndYFunctions<V, value_type> && ( Internal::ImplementsLeftTopRightAndBottomFunctions<V, value_type> == false )
void Harlinn::Windows::RectangleT< RT >::Assign ( const U & leftTop,
const V & rightBottom )
inlineconstexpr

◆ Assign() [3/3]

template<WindowsRectangleType RT>
template<typename U , typename V >
requires Internal::ImplementsXAndYFunctions<U, value_type> && ( Internal::ImplementsLeftTopRightAndBottomFunctions<U, value_type> == false ) && Internal::ImplementsWidthAndHeightFunctions<V, value_type> && ( Internal::ImplementsLeftTopRightAndBottomFunctions<V, value_type> == false )
void Harlinn::Windows::RectangleT< RT >::Assign ( const U & leftTop,
const V & size )
inlineconstexpr

◆ Bottom()

template<WindowsRectangleType RT>
value_type Harlinn::Windows::RectangleT< RT >::Bottom ( ) const
inlineconstexprnoexcept

◆ BottomCenter()

template<WindowsRectangleType RT>
PointType Harlinn::Windows::RectangleT< RT >::BottomCenter ( ) const
inlineconstexprnoexcept

◆ Center()

template<WindowsRectangleType RT>
PointType Harlinn::Windows::RectangleT< RT >::Center ( ) const
inlineconstexprnoexcept

◆ Contains() [1/6]

template<WindowsRectangleType RT>
template<typename A , typename B , typename C , typename D >
requires Internal::StaticCastable4To<A, B, C, D ,value_type>
bool Harlinn::Windows::RectangleT< RT >::Contains ( A left,
B top,
C right,
D bottom ) const
inlineconstexprnoexcept

◆ Contains() [2/6]

template<WindowsRectangleType RT>
template<typename U >
requires Internal::ImplementsXAndYFunctions<U,value_type> && ( Internal::ImplementsLeftTopRightAndBottomFunctions<U, value_type> == false )
bool Harlinn::Windows::RectangleT< RT >::Contains ( const U & point) const
inlineconstexprnoexcept

◆ Contains() [3/6]

template<WindowsRectangleType RT>
template<typename U >
requires Internal::HasXAndY<U,value_type>
bool Harlinn::Windows::RectangleT< RT >::Contains ( const U & point) const
inlineconstexprnoexcept

◆ Contains() [4/6]

template<WindowsRectangleType RT>
template<typename U >
requires Internal::ImplementsLeftTopRightAndBottomFunctions<U,value_type>
bool Harlinn::Windows::RectangleT< RT >::Contains ( const U & rectangle) const
inlineconstexprnoexcept

◆ Contains() [5/6]

template<WindowsRectangleType RT>
template<typename U >
requires Internal::HasLeftTopRightAndBottom<U,value_type>
bool Harlinn::Windows::RectangleT< RT >::Contains ( const U & rectangle) const
inlineconstexprnoexcept

◆ Contains() [6/6]

template<WindowsRectangleType RT>
template<typename U , typename V >
requires Internal::StaticCastable2To<U, V, value_type>
bool Harlinn::Windows::RectangleT< RT >::Contains ( U x,
V y ) const
inlineconstexprnoexcept

◆ Height()

template<WindowsRectangleType RT>
value_type Harlinn::Windows::RectangleT< RT >::Height ( ) const
inlinenoexcept

◆ Inflate() [1/7]

template<WindowsRectangleType RT>
template<typename U >
requires Internal::ImplementsXAndYFunctions<U, value_type>
void Harlinn::Windows::RectangleT< RT >::Inflate ( const U & point)
inlinenoexcept

◆ Inflate() [2/7]

template<WindowsRectangleType RT>
template<typename U >
requires Internal::HasXAndY<U, value_type>
void Harlinn::Windows::RectangleT< RT >::Inflate ( const U & point)
inlinenoexcept

◆ Inflate() [3/7]

template<WindowsRectangleType RT>
template<typename U >
requires Internal::ImplementsWidthAndHeightFunctions<U, value_type>
void Harlinn::Windows::RectangleT< RT >::Inflate ( const U & size)
inlinenoexcept

◆ Inflate() [4/7]

template<WindowsRectangleType RT>
template<typename U >
requires Internal::HasWidthAndHeight<U, value_type>
void Harlinn::Windows::RectangleT< RT >::Inflate ( const U & size)
inlinenoexcept

◆ Inflate() [5/7]

template<WindowsRectangleType RT>
template<typename U >
requires Internal::HasCXAndCY<U, value_type>
void Harlinn::Windows::RectangleT< RT >::Inflate ( const U & size)
inlinenoexcept

◆ Inflate() [6/7]

template<WindowsRectangleType RT>
template<typename U >
requires Internal::StaticCastableTo<U, value_type>
void Harlinn::Windows::RectangleT< RT >::Inflate ( U delta)
inlinenoexcept

◆ Inflate() [7/7]

template<WindowsRectangleType RT>
template<typename U , typename V >
requires Internal::StaticCastable2To<U, V, value_type>
void Harlinn::Windows::RectangleT< RT >::Inflate ( U dx,
V dy )
inlinenoexcept

◆ IntersectWith() [1/3]

template<WindowsRectangleType RT>
template<typename A , typename B , typename C , typename D >
requires Internal::StaticCastable4To<A, B, C, D, value_type>
void Harlinn::Windows::RectangleT< RT >::IntersectWith ( A left,
B top,
C right,
D bottom )
inline

◆ IntersectWith() [2/3]

template<WindowsRectangleType RT>
template<typename U >
requires Internal::ImplementsLeftTopRightAndBottomFunctions<U, value_type>
void Harlinn::Windows::RectangleT< RT >::IntersectWith ( const U & rectangle)
inline

◆ IntersectWith() [3/3]

template<WindowsRectangleType RT>
template<typename U >
requires Internal::HasLeftTopRightAndBottom<U, value_type>
void Harlinn::Windows::RectangleT< RT >::IntersectWith ( const U & rectangle)
inline

◆ IsEmpty()

template<WindowsRectangleType RT>
bool Harlinn::Windows::RectangleT< RT >::IsEmpty ( ) const
inlinenoexcept

◆ IsEmptyArea()

template<WindowsRectangleType RT>
bool Harlinn::Windows::RectangleT< RT >::IsEmptyArea ( ) const
inlinenoexcept

◆ IsInverted()

template<WindowsRectangleType RT>
bool Harlinn::Windows::RectangleT< RT >::IsInverted ( ) const
inlineconstexprnoexcept

◆ Left()

template<WindowsRectangleType RT>
value_type Harlinn::Windows::RectangleT< RT >::Left ( ) const
inlineconstexprnoexcept

◆ LeftBottom()

template<WindowsRectangleType RT>
PointType Harlinn::Windows::RectangleT< RT >::LeftBottom ( ) const
inlineconstexprnoexcept

◆ LeftCenter()

template<WindowsRectangleType RT>
PointType Harlinn::Windows::RectangleT< RT >::LeftCenter ( ) const
inlineconstexprnoexcept

◆ LeftTop()

template<WindowsRectangleType RT>
PointType Harlinn::Windows::RectangleT< RT >::LeftTop ( ) const
inlineconstexprnoexcept

◆ Normalize()

template<WindowsRectangleType RT>
void Harlinn::Windows::RectangleT< RT >::Normalize ( )
inlineconstexprnoexcept

◆ NormalizedAssign() [1/3]

template<WindowsRectangleType RT>
template<typename A , typename B , typename C , typename D >
requires Internal::StaticCastable4To<A, B, C, D, value_type>
void Harlinn::Windows::RectangleT< RT >::NormalizedAssign ( A left,
B top,
C right,
D bottom )
inlineconstexpr
Template Parameters
AThe type of the left parameter
BThe type of the top parameter
CThe type of the right parameter
DThe type of the bottom parameter
Parameters
left
top
right
bottom

◆ NormalizedAssign() [2/3]

template<WindowsRectangleType RT>
template<typename U , typename V >
requires Internal::ImplementsXAndYFunctions<U, value_type> && ( Internal::ImplementsLeftTopRightAndBottomFunctions<U, value_type> == false ) && Internal::ImplementsXAndYFunctions<V, value_type> && ( Internal::ImplementsLeftTopRightAndBottomFunctions<V, value_type> == false )
void Harlinn::Windows::RectangleT< RT >::NormalizedAssign ( const U & leftTop,
const V & rightBottom )
inlineconstexpr

◆ NormalizedAssign() [3/3]

template<WindowsRectangleType RT>
template<typename U , typename V >
requires Internal::ImplementsXAndYFunctions<U, value_type> && ( Internal::ImplementsLeftTopRightAndBottomFunctions<U, value_type> == false ) && Internal::ImplementsWidthAndHeightFunctions<V, value_type> && ( Internal::ImplementsLeftTopRightAndBottomFunctions<V, value_type> == false )
void Harlinn::Windows::RectangleT< RT >::NormalizedAssign ( const U & leftTop,
const V & size )
inlineconstexpr

◆ operator bool()

template<WindowsRectangleType RT>
Harlinn::Windows::RectangleT< RT >::operator bool ( ) const
inlineexplicitconstexprnoexcept

◆ operator const RectangleType &()

template<WindowsRectangleType RT>
Harlinn::Windows::RectangleT< RT >::operator const RectangleType & ( ) const
inlineconstexprnoexcept

◆ operator RectangleType &()

template<WindowsRectangleType RT>
Harlinn::Windows::RectangleT< RT >::operator RectangleType & ( )
inlineconstexprnoexcept

◆ operator!=()

template<WindowsRectangleType RT>
bool Harlinn::Windows::RectangleT< RT >::operator!= ( const RectangleT< RT > & other) const
inlineconstexprnoexcept

◆ operator*() [1/2]

template<WindowsRectangleType RT>
template<typename U >
requires Internal::StaticCastableTo<U, value_type>
RectangleT Harlinn::Windows::RectangleT< RT >::operator* ( U value) const
inlineconstexpr

◆ operator*() [2/2]

template<WindowsRectangleType RT>
template<typename U >
requires Internal::ImplementsXAndYFunctions<U, value_type>
RectangleT Harlinn::Windows::RectangleT< RT >::operator* ( U value) const
inlineconstexpr

◆ operator*=() [1/2]

template<WindowsRectangleType RT>
template<typename U >
requires Internal::ImplementsXAndYFunctions<U, value_type>
RectangleT & Harlinn::Windows::RectangleT< RT >::operator*= ( const U & value)
inlineconstexpr

◆ operator*=() [2/2]

template<WindowsRectangleType RT>
template<typename U >
requires Internal::StaticCastableTo<U, value_type>
RectangleT & Harlinn::Windows::RectangleT< RT >::operator*= ( U value)
inlineconstexpr

◆ operator+() [1/2]

template<WindowsRectangleType RT>
template<typename U >
requires Internal::ImplementsXAndYFunctions<U, value_type>
RectangleT Harlinn::Windows::RectangleT< RT >::operator+ ( const U & value) const
inlineconstexpr

◆ operator+() [2/2]

template<WindowsRectangleType RT>
template<typename U >
requires Internal::StaticCastableTo<U, value_type>
RectangleT Harlinn::Windows::RectangleT< RT >::operator+ ( U value) const
inlineconstexpr

◆ operator+=() [1/3]

template<WindowsRectangleType RT>
template<typename U >
requires Internal::ImplementsXAndYFunctions<U, value_type>
RectangleT & Harlinn::Windows::RectangleT< RT >::operator+= ( const U & value)
inlineconstexpr

◆ operator+=() [2/3]

template<WindowsRectangleType RT>
template<typename U >
requires Internal::ImplementsWidthAndHeightFunctions<U, value_type>
RectangleT & Harlinn::Windows::RectangleT< RT >::operator+= ( const U & value)
inlineconstexpr

◆ operator+=() [3/3]

template<WindowsRectangleType RT>
template<typename U >
requires Internal::StaticCastableTo<U, value_type>
RectangleT & Harlinn::Windows::RectangleT< RT >::operator+= ( U value)
inlineconstexpr

◆ operator-() [1/2]

template<WindowsRectangleType RT>
template<typename U >
requires Internal::StaticCastableTo<U, value_type>
RectangleT Harlinn::Windows::RectangleT< RT >::operator- ( U value) const
inlineconstexpr

◆ operator-() [2/2]

template<WindowsRectangleType RT>
template<typename U >
requires Internal::ImplementsXAndYFunctions<U, value_type>
RectangleT Harlinn::Windows::RectangleT< RT >::operator- ( U value) const
inlineconstexpr

◆ operator-=() [1/3]

template<WindowsRectangleType RT>
template<typename U >
requires Internal::ImplementsXAndYFunctions<U, value_type>
RectangleT & Harlinn::Windows::RectangleT< RT >::operator-= ( const U & value)
inlineconstexpr

◆ operator-=() [2/3]

template<WindowsRectangleType RT>
template<typename U >
requires Internal::ImplementsWidthAndHeightFunctions<U, value_type>
RectangleT & Harlinn::Windows::RectangleT< RT >::operator-= ( const U & value)
inlineconstexpr

◆ operator-=() [3/3]

template<WindowsRectangleType RT>
template<typename U >
requires Internal::StaticCastableTo<U, value_type>
RectangleT & Harlinn::Windows::RectangleT< RT >::operator-= ( U value)
inlineconstexpr

◆ operator/() [1/2]

template<WindowsRectangleType RT>
template<typename U >
requires Internal::StaticCastableTo<U, value_type>
RectangleT Harlinn::Windows::RectangleT< RT >::operator/ ( U value) const
inlineconstexpr

◆ operator/() [2/2]

template<WindowsRectangleType RT>
template<typename U >
requires Internal::ImplementsXAndYFunctions<U, value_type>
RectangleT Harlinn::Windows::RectangleT< RT >::operator/ ( U value) const
inlineconstexpr

◆ operator/=() [1/2]

template<WindowsRectangleType RT>
template<typename U >
requires Internal::ImplementsXAndYFunctions<U, value_type>
RectangleT & Harlinn::Windows::RectangleT< RT >::operator/= ( const U & value)
inlineconstexpr

◆ operator/=() [2/2]

template<WindowsRectangleType RT>
template<typename U >
requires Internal::StaticCastableTo<U, value_type>
RectangleT & Harlinn::Windows::RectangleT< RT >::operator/= ( U value)
inlineconstexpr

◆ operator=()

template<WindowsRectangleType RT>
template<typename U >
requires Internal::HasLeftTopRightAndBottom<U,value_type>
RectangleT & Harlinn::Windows::RectangleT< RT >::operator= ( const U & other)
inlineconstexprnoexcept

◆ operator==()

template<WindowsRectangleType RT>
bool Harlinn::Windows::RectangleT< RT >::operator== ( const RectangleT< RT > & other) const
inlineconstexprnoexcept

◆ Overlaps() [1/3]

template<WindowsRectangleType RT>
template<typename A , typename B , typename C , typename D >
requires Internal::StaticCastable4To<A, B, C, D ,value_type>
bool Harlinn::Windows::RectangleT< RT >::Overlaps ( A left,
B top,
C right,
D bottom ) const
inlineconstexprnoexcept

◆ Overlaps() [2/3]

template<WindowsRectangleType RT>
template<typename U >
requires Internal::ImplementsLeftTopRightAndBottomFunctions<U, value_type>
bool Harlinn::Windows::RectangleT< RT >::Overlaps ( const U & rectangle) const
inlineconstexprnoexcept

◆ Overlaps() [3/3]

template<WindowsRectangleType RT>
template<typename U >
requires Internal::HasLeftTopRightAndBottom<U,value_type>
bool Harlinn::Windows::RectangleT< RT >::Overlaps ( const U & rectangle) const
inlineconstexprnoexcept

◆ Position()

template<WindowsRectangleType RT>
PointType Harlinn::Windows::RectangleT< RT >::Position ( ) const
inlineconstexprnoexcept

◆ Right()

template<WindowsRectangleType RT>
value_type Harlinn::Windows::RectangleT< RT >::Right ( ) const
inlineconstexprnoexcept

◆ RightBottom()

template<WindowsRectangleType RT>
PointType Harlinn::Windows::RectangleT< RT >::RightBottom ( ) const
inlineconstexprnoexcept

◆ RightCenter()

template<WindowsRectangleType RT>
PointType Harlinn::Windows::RectangleT< RT >::RightCenter ( ) const
inlineconstexprnoexcept

◆ RightTop()

template<WindowsRectangleType RT>
PointType Harlinn::Windows::RectangleT< RT >::RightTop ( ) const
inlineconstexprnoexcept

◆ SetBottom()

template<WindowsRectangleType RT>
template<typename U >
requires Internal::StaticCastableTo<U, value_type>
void Harlinn::Windows::RectangleT< RT >::SetBottom ( U value)
inlineconstexprnoexcept

◆ SetCenter() [1/3]

template<WindowsRectangleType RT>
template<typename U >
requires Internal::ImplementsXAndYFunctions<U, value_type>
void Harlinn::Windows::RectangleT< RT >::SetCenter ( const U & pt)
inlineconstexprnoexcept

◆ SetCenter() [2/3]

template<WindowsRectangleType RT>
template<typename U >
requires Internal::HasXAndY<U, value_type>
void Harlinn::Windows::RectangleT< RT >::SetCenter ( const U & pt)
inlineconstexprnoexcept

◆ SetCenter() [3/3]

template<WindowsRectangleType RT>
template<typename U , typename V >
requires Internal::StaticCastable2To<U, V, value_type>
void Harlinn::Windows::RectangleT< RT >::SetCenter ( U x,
V y )
inlineconstexprnoexcept

◆ SetHeight()

template<WindowsRectangleType RT>
template<typename U >
requires Internal::StaticCastableTo<U, value_type>
void Harlinn::Windows::RectangleT< RT >::SetHeight ( U value)
inlineconstexprnoexcept

◆ SetLeft()

template<WindowsRectangleType RT>
template<typename U >
requires Internal::StaticCastableTo<U, value_type>
void Harlinn::Windows::RectangleT< RT >::SetLeft ( U value)
inlineconstexprnoexcept

◆ SetLeftAndRight() [1/2]

template<WindowsRectangleType RT>
template<typename U , typename V >
requires Internal::StaticCastable2To<U,V, value_type>
void Harlinn::Windows::RectangleT< RT >::SetLeftAndRight ( U left,
V right )
inlineconstexprnoexcept

◆ SetLeftAndRight() [2/2]

template<WindowsRectangleType RT>
template<typename U >
requires Internal::StaticCastableTo<U,value_type>
void Harlinn::Windows::RectangleT< RT >::SetLeftAndRight ( U value)
inlineconstexprnoexcept

◆ SetLeftBottom() [1/3]

template<WindowsRectangleType RT>
template<typename U >
requires Internal::ImplementsXAndYFunctions<U, value_type>
void Harlinn::Windows::RectangleT< RT >::SetLeftBottom ( const U & pt)
inlineconstexprnoexcept

◆ SetLeftBottom() [2/3]

template<WindowsRectangleType RT>
template<typename U >
requires Internal::HasXAndY<U, value_type>
void Harlinn::Windows::RectangleT< RT >::SetLeftBottom ( const U & pt)
inlineconstexprnoexcept

◆ SetLeftBottom() [3/3]

template<WindowsRectangleType RT>
template<typename U , typename V >
requires Internal::StaticCastable2To<U, V, value_type>
void Harlinn::Windows::RectangleT< RT >::SetLeftBottom ( U left,
V bottom )
inlineconstexprnoexcept

◆ SetLeftTop() [1/3]

template<WindowsRectangleType RT>
template<typename U >
requires Internal::ImplementsXAndYFunctions<U, value_type>
void Harlinn::Windows::RectangleT< RT >::SetLeftTop ( const U & pt)
inlineconstexprnoexcept

◆ SetLeftTop() [2/3]

template<WindowsRectangleType RT>
template<typename U >
requires Internal::HasXAndY<U, value_type>
void Harlinn::Windows::RectangleT< RT >::SetLeftTop ( const U & pt)
inlineconstexprnoexcept

◆ SetLeftTop() [3/3]

template<WindowsRectangleType RT>
template<typename U , typename V >
requires Internal::StaticCastable2To<U, V, value_type>
void Harlinn::Windows::RectangleT< RT >::SetLeftTop ( U left,
V top )
inlineconstexprnoexcept

◆ SetPosition() [1/3]

template<WindowsRectangleType RT>
template<typename U >
requires Internal::ImplementsXAndYFunctions<U, value_type>
void Harlinn::Windows::RectangleT< RT >::SetPosition ( const U & pt)
inlineconstexprnoexcept

◆ SetPosition() [2/3]

template<WindowsRectangleType RT>
template<typename U >
requires Internal::HasXAndY<U, value_type>
void Harlinn::Windows::RectangleT< RT >::SetPosition ( const U & pt)
inlineconstexprnoexcept

◆ SetPosition() [3/3]

template<WindowsRectangleType RT>
template<typename U , typename V >
requires Internal::StaticCastable2To<U, V ,value_type>
void Harlinn::Windows::RectangleT< RT >::SetPosition ( U x,
V y )
inlineconstexprnoexcept

◆ SetRight()

template<WindowsRectangleType RT>
template<typename U >
requires Internal::StaticCastableTo<U, value_type>
void Harlinn::Windows::RectangleT< RT >::SetRight ( U value)
inlineconstexprnoexcept

◆ SetRightBottom() [1/3]

template<WindowsRectangleType RT>
template<typename U >
requires Internal::ImplementsXAndYFunctions<U, value_type>
void Harlinn::Windows::RectangleT< RT >::SetRightBottom ( const U & pt)
inlineconstexprnoexcept

◆ SetRightBottom() [2/3]

template<WindowsRectangleType RT>
template<typename U >
requires Internal::HasXAndY<U, value_type>
void Harlinn::Windows::RectangleT< RT >::SetRightBottom ( const U & pt)
inlineconstexprnoexcept

◆ SetRightBottom() [3/3]

template<WindowsRectangleType RT>
template<typename U , typename V >
requires Internal::StaticCastable2To<U, V, value_type>
void Harlinn::Windows::RectangleT< RT >::SetRightBottom ( U right,
V bottom )
inlineconstexprnoexcept

◆ SetRightTop() [1/3]

template<WindowsRectangleType RT>
template<typename U >
requires Internal::ImplementsXAndYFunctions<U, value_type>
void Harlinn::Windows::RectangleT< RT >::SetRightTop ( const U & pt)
inlineconstexprnoexcept

◆ SetRightTop() [2/3]

template<WindowsRectangleType RT>
template<typename U >
requires Internal::HasXAndY<U, value_type>
void Harlinn::Windows::RectangleT< RT >::SetRightTop ( const U & pt)
inlineconstexprnoexcept

◆ SetRightTop() [3/3]

template<WindowsRectangleType RT>
template<typename U , typename V >
requires Internal::StaticCastable2To<U, V, value_type>
void Harlinn::Windows::RectangleT< RT >::SetRightTop ( U right,
V top )
inlineconstexprnoexcept

◆ SetSize() [1/3]

template<WindowsRectangleType RT>
template<typename U >
requires Internal::ImplementsWidthAndHeightFunctions<U, value_type>
void Harlinn::Windows::RectangleT< RT >::SetSize ( const U & size)
inlineconstexprnoexcept

◆ SetSize() [2/3]

template<WindowsRectangleType RT>
template<typename U >
requires Internal::HasWidthAndHeight<U, value_type>
void Harlinn::Windows::RectangleT< RT >::SetSize ( const U & size)
inlineconstexprnoexcept

◆ SetSize() [3/3]

template<WindowsRectangleType RT>
template<typename U , typename V >
requires Internal::StaticCastable2To<U, V, value_type>
void Harlinn::Windows::RectangleT< RT >::SetSize ( U width,
V height )
inlineconstexprnoexcept

◆ SetTop()

template<WindowsRectangleType RT>
template<typename U >
requires Internal::StaticCastableTo<U, value_type>
void Harlinn::Windows::RectangleT< RT >::SetTop ( U value)
inlineconstexprnoexcept

◆ SetTopAndBottom() [1/2]

template<WindowsRectangleType RT>
template<typename U , typename V >
requires Internal::StaticCastable2To<U,V, value_type>
void Harlinn::Windows::RectangleT< RT >::SetTopAndBottom ( U top,
V bottom )
inlineconstexprnoexcept

◆ SetTopAndBottom() [2/2]

template<WindowsRectangleType RT>
template<typename U >
requires Internal::StaticCastableTo<U,value_type>
void Harlinn::Windows::RectangleT< RT >::SetTopAndBottom ( U value)
inlineconstexprnoexcept

◆ SetWidth()

template<WindowsRectangleType RT>
template<typename U >
requires Internal::StaticCastableTo<U, value_type>
void Harlinn::Windows::RectangleT< RT >::SetWidth ( U width)
inlineconstexprnoexcept

◆ SetX()

template<WindowsRectangleType RT>
template<typename U >
requires Internal::StaticCastableTo<U, value_type>
void Harlinn::Windows::RectangleT< RT >::SetX ( U value)
inlineconstexprnoexcept

◆ SetY()

template<WindowsRectangleType RT>
template<typename U >
requires Internal::StaticCastableTo<U, value_type>
void Harlinn::Windows::RectangleT< RT >::SetY ( U value)
inlineconstexprnoexcept

◆ Size()

template<WindowsRectangleType RT>
SizeType Harlinn::Windows::RectangleT< RT >::Size ( ) const
inlineconstexprnoexcept

◆ SubtractFromBottom()

template<WindowsRectangleType RT>
template<typename U >
requires Internal::StaticCastableTo<U, value_type>
void Harlinn::Windows::RectangleT< RT >::SubtractFromBottom ( U value)
inlineconstexprnoexcept

◆ SubtractFromLeft()

template<WindowsRectangleType RT>
template<typename U >
requires Internal::StaticCastableTo<U, value_type>
void Harlinn::Windows::RectangleT< RT >::SubtractFromLeft ( U value)
inlineconstexprnoexcept

◆ SubtractFromLeftAndRight()

template<WindowsRectangleType RT>
template<typename U >
requires Internal::StaticCastableTo<U, value_type>
void Harlinn::Windows::RectangleT< RT >::SubtractFromLeftAndRight ( U dx)
inline

◆ SubtractFromRight()

template<WindowsRectangleType RT>
template<typename U >
requires Internal::StaticCastableTo<U, value_type>
void Harlinn::Windows::RectangleT< RT >::SubtractFromRight ( U value)
inlineconstexprnoexcept

◆ SubtractFromTop()

template<WindowsRectangleType RT>
template<typename U >
requires Internal::StaticCastableTo<U, value_type>
void Harlinn::Windows::RectangleT< RT >::SubtractFromTop ( U value)
inlineconstexprnoexcept

◆ SubtractFromTopAndBottom()

template<WindowsRectangleType RT>
template<typename U >
requires Internal::StaticCastableTo<U, value_type>
void Harlinn::Windows::RectangleT< RT >::SubtractFromTopAndBottom ( U dy)
inline

◆ SubtractSize() [1/4]

template<WindowsRectangleType RT>
template<typename U >
requires Internal::ImplementsWidthAndHeightFunctions<U, value_type>
void Harlinn::Windows::RectangleT< RT >::SubtractSize ( const U & size)
inlineconstexprnoexcept

◆ SubtractSize() [2/4]

template<WindowsRectangleType RT>
template<typename U >
requires Internal::HasWidthAndHeight<U, value_type>
void Harlinn::Windows::RectangleT< RT >::SubtractSize ( const U & size)
inlineconstexprnoexcept

◆ SubtractSize() [3/4]

template<WindowsRectangleType RT>
template<typename U , typename V >
requires Internal::StaticCastable2To<U, V, value_type>
void Harlinn::Windows::RectangleT< RT >::SubtractSize ( U width,
V height )
inlineconstexprnoexcept

◆ SubtractSize() [4/4]

template<WindowsRectangleType RT>
template<typename U >
requires Internal::StaticCastableTo<U, value_type>
void Harlinn::Windows::RectangleT< RT >::SubtractSize ( U widthAndHeight)
inlineconstexprnoexcept

◆ SwapBottom()

template<WindowsRectangleType RT>
void Harlinn::Windows::RectangleT< RT >::SwapBottom ( RectangleT< RT > & other)
inlineconstexprnoexcept

◆ SwapLeft()

template<WindowsRectangleType RT>
void Harlinn::Windows::RectangleT< RT >::SwapLeft ( RectangleT< RT > & other)
inlineconstexprnoexcept

◆ SwapLeftAndRight()

template<WindowsRectangleType RT>
void Harlinn::Windows::RectangleT< RT >::SwapLeftAndRight ( )
inlineconstexprnoexcept

◆ SwapRight()

template<WindowsRectangleType RT>
void Harlinn::Windows::RectangleT< RT >::SwapRight ( RectangleT< RT > & other)
inlineconstexprnoexcept

◆ SwapTop()

template<WindowsRectangleType RT>
void Harlinn::Windows::RectangleT< RT >::SwapTop ( RectangleT< RT > & other)
inlineconstexprnoexcept

◆ SwapTopAndBottom()

template<WindowsRectangleType RT>
void Harlinn::Windows::RectangleT< RT >::SwapTopAndBottom ( )
inlineconstexprnoexcept

◆ Top()

template<WindowsRectangleType RT>
value_type Harlinn::Windows::RectangleT< RT >::Top ( ) const
inlineconstexprnoexcept

◆ TopCenter()

template<WindowsRectangleType RT>
PointType Harlinn::Windows::RectangleT< RT >::TopCenter ( ) const
inlineconstexprnoexcept

◆ Translate() [1/5]

template<WindowsRectangleType RT>
template<typename U >
requires Internal::ImplementsXAndYFunctions<U, value_type>
void Harlinn::Windows::RectangleT< RT >::Translate ( const U & pt)
inlineconstexprnoexcept

◆ Translate() [2/5]

template<WindowsRectangleType RT>
template<typename U >
requires Internal::ImplementsWidthAndHeightFunctions<U, value_type>
void Harlinn::Windows::RectangleT< RT >::Translate ( const U & pt)
inlineconstexprnoexcept

◆ Translate() [3/5]

template<WindowsRectangleType RT>
template<typename U >
requires Internal::HasXAndY<U, value_type>
void Harlinn::Windows::RectangleT< RT >::Translate ( const U & pt)
inlineconstexprnoexcept

◆ Translate() [4/5]

template<WindowsRectangleType RT>
template<typename U >
requires Internal::HasCXAndCY<U, value_type>
void Harlinn::Windows::RectangleT< RT >::Translate ( const U & pt)
inlineconstexprnoexcept

◆ Translate() [5/5]

template<WindowsRectangleType RT>
template<typename U , typename V >
requires Internal::StaticCastable2To<U, V ,value_type>
void Harlinn::Windows::RectangleT< RT >::Translate ( U dx,
V dy )
inlineconstexprnoexcept

◆ TranslateX()

template<WindowsRectangleType RT>
template<typename U >
requires Internal::StaticCastableTo<U, value_type>
void Harlinn::Windows::RectangleT< RT >::TranslateX ( U dx)
inline

◆ TranslateY()

template<WindowsRectangleType RT>
template<typename U >
requires Internal::StaticCastableTo<U, value_type>
void Harlinn::Windows::RectangleT< RT >::TranslateY ( U dy)
inline

◆ Width()

template<WindowsRectangleType RT>
value_type Harlinn::Windows::RectangleT< RT >::Width ( ) const
inlinenoexcept

◆ X()

template<WindowsRectangleType RT>
value_type Harlinn::Windows::RectangleT< RT >::X ( ) const
inlineconstexprnoexcept

◆ Y()

template<WindowsRectangleType RT>
value_type Harlinn::Windows::RectangleT< RT >::Y ( ) const
inlineconstexprnoexcept

Member Data Documentation

◆ bottom_

template<WindowsRectangleType RT>
value_type Harlinn::Windows::RectangleT< RT >::bottom_
protected

◆ left_

template<WindowsRectangleType RT>
value_type Harlinn::Windows::RectangleT< RT >::left_
protected

◆ right_

template<WindowsRectangleType RT>
value_type Harlinn::Windows::RectangleT< RT >::right_
protected

◆ top_

template<WindowsRectangleType RT>
value_type Harlinn::Windows::RectangleT< RT >::top_
protected

The documentation for this class was generated from the following file: