Mir
Classes | Namespaces | Functions
dimensions.h File Reference
#include "forward.h"
#include <iosfwd>
#include <type_traits>
#include <cstdint>
Include dependency graph for dimensions.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

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). More...
 

Namespaces

namespace  mir
 
namespace  mir::geometry
 Basic geometry types. Types for dimensions, displacements, etc. and the operations that they support.
 
namespace  mir::geometry::generic
 

Functions

template<typename T , typename Tag >
std::ostream & mir::geometry::generic::operator<< (std::ostream &out, Value< T, Tag > const &value)
 
template<typename T >
constexpr DeltaX< T > mir::geometry::generic::operator+ (DeltaX< T > lhs, DeltaX< T > rhs)
 
template<typename T >
constexpr DeltaY< T > mir::geometry::generic::operator+ (DeltaY< T > lhs, DeltaY< T > rhs)
 
template<typename T >
constexpr DeltaX< T > mir::geometry::generic::operator- (DeltaX< T > lhs, DeltaX< T > rhs)
 
template<typename T >
constexpr DeltaY< T > mir::geometry::generic::operator- (DeltaY< T > lhs, DeltaY< T > rhs)
 
template<typename T >
constexpr DeltaX< T > mir::geometry::generic::operator- (DeltaX< T > rhs)
 
template<typename T >
constexpr DeltaY< T > mir::geometry::generic::operator- (DeltaY< T > rhs)
 
template<typename T >
DeltaX< T > & mir::geometry::generic::operator+= (DeltaX< T > &lhs, DeltaX< T > rhs)
 
template<typename T >
DeltaY< T > & mir::geometry::generic::operator+= (DeltaY< T > &lhs, DeltaY< T > rhs)
 
template<typename T >
DeltaX< T > & mir::geometry::generic::operator-= (DeltaX< T > &lhs, DeltaX< T > rhs)
 
template<typename T >
DeltaY< T > & mir::geometry::generic::operator-= (DeltaY< T > &lhs, DeltaY< T > rhs)
 
template<typename T >
constexpr X< T > mir::geometry::generic::operator+ (X< T > lhs, DeltaX< T > rhs)
 
template<typename T >
constexpr Y< T > mir::geometry::generic::operator+ (Y< T > lhs, DeltaY< T > rhs)
 
template<typename T >
constexpr X< T > mir::geometry::generic::operator- (X< T > lhs, DeltaX< T > rhs)
 
template<typename T >
constexpr Y< T > mir::geometry::generic::operator- (Y< T > lhs, DeltaY< T > rhs)
 
template<typename T >
X< T > & mir::geometry::generic::operator+= (X< T > &lhs, DeltaX< T > rhs)
 
template<typename T >
Y< T > & mir::geometry::generic::operator+= (Y< T > &lhs, DeltaY< T > rhs)
 
template<typename T >
X< T > & mir::geometry::generic::operator-= (X< T > &lhs, DeltaX< T > rhs)
 
template<typename T >
Y< T > & mir::geometry::generic::operator-= (Y< T > &lhs, DeltaY< T > rhs)
 
template<typename T >
constexpr Width< T > mir::geometry::generic::operator+ (Width< T > lhs, DeltaX< T > rhs)
 
template<typename T >
constexpr Height< T > mir::geometry::generic::operator+ (Height< T > lhs, DeltaY< T > rhs)
 
template<typename T >
constexpr Width< T > mir::geometry::generic::operator- (Width< T > lhs, DeltaX< T > rhs)
 
template<typename T >
constexpr Height< T > mir::geometry::generic::operator- (Height< T > lhs, DeltaY< T > rhs)
 
template<typename T >
Width< T > & mir::geometry::generic::operator+= (Width< T > &lhs, DeltaX< T > rhs)
 
template<typename T >
Height< T > & mir::geometry::generic::operator+= (Height< T > &lhs, DeltaY< T > rhs)
 
template<typename T >
Width< T > & mir::geometry::generic::operator-= (Width< T > &lhs, DeltaX< T > rhs)
 
template<typename T >
Height< T > & mir::geometry::generic::operator-= (Height< T > &lhs, DeltaY< T > rhs)
 
template<typename T >
constexpr Width< T > mir::geometry::generic::operator+ (Width< T > lhs, Width< T > rhs)
 
template<typename T >
constexpr Height< T > mir::geometry::generic::operator+ (Height< T > lhs, Height< T > rhs)
 
template<typename T >
Width< T > & mir::geometry::generic::operator+= (Width< T > &lhs, Width< T > rhs)
 
template<typename T >
Height< T > & mir::geometry::generic::operator+= (Height< T > &lhs, Height< T > rhs)
 
template<typename T >
constexpr DeltaX< T > mir::geometry::generic::operator- (X< T > lhs, X< T > rhs)
 
template<typename T >
constexpr DeltaY< T > mir::geometry::generic::operator- (Y< T > lhs, Y< T > rhs)
 
template<typename T >
constexpr DeltaX< T > mir::geometry::generic::operator- (Width< T > lhs, Width< T > rhs)
 
template<typename T >
constexpr DeltaY< T > mir::geometry::generic::operator- (Height< T > lhs, Height< T > rhs)
 
template<typename T , typename Scalar >
constexpr Width< T > mir::geometry::generic::operator* (Scalar scale, Width< T > const &w)
 
template<typename T , typename Scalar >
constexpr Height< T > mir::geometry::generic::operator* (Scalar scale, Height< T > const &h)
 
template<typename T , typename Scalar >
constexpr DeltaX< T > mir::geometry::generic::operator* (Scalar scale, DeltaX< T > const &dx)
 
template<typename T , typename Scalar >
constexpr DeltaY< T > mir::geometry::generic::operator* (Scalar scale, DeltaY< T > const &dy)
 
template<typename T , typename Scalar >
constexpr Width< T > mir::geometry::generic::operator* (Width< T > const &w, Scalar scale)
 
template<typename T , typename Scalar >
constexpr Height< T > mir::geometry::generic::operator* (Height< T > const &h, Scalar scale)
 
template<typename T , typename Scalar >
constexpr DeltaX< T > mir::geometry::generic::operator* (DeltaX< T > const &dx, Scalar scale)
 
template<typename T , typename Scalar >
constexpr DeltaY< T > mir::geometry::generic::operator* (DeltaY< T > const &dy, Scalar scale)
 
template<typename T , typename Scalar >
constexpr Width< T > mir::geometry::generic::operator/ (Width< T > const &w, Scalar scale)
 
template<typename T , typename Scalar >
constexpr Height< T > mir::geometry::generic::operator/ (Height< T > const &h, Scalar scale)
 
template<typename T , typename Scalar >
constexpr DeltaX< T > mir::geometry::generic::operator/ (DeltaX< T > const &dx, Scalar scale)
 
template<typename T , typename Scalar >
constexpr DeltaY< T > mir::geometry::generic::operator/ (DeltaY< T > const &dy, Scalar scale)
 
template<typename T >
constexpr generic::Width< T > mir::geometry::as_width (generic::DeltaX< T > const &dx)
 
template<typename T >
constexpr generic::Height< T > mir::geometry::as_height (generic::DeltaY< T > const &dy)
 
template<typename T >
constexpr generic::X< T > mir::geometry::as_x (generic::DeltaX< T > const &dx)
 
template<typename T >
constexpr generic::Y< T > mir::geometry::as_y (generic::DeltaY< T > const &dy)
 
template<typename T >
constexpr generic::DeltaX< T > mir::geometry::as_delta (generic::X< T > const &x)
 
template<typename T >
constexpr generic::DeltaY< T > mir::geometry::as_delta (generic::Y< T > const &y)
 
template<typename T >
constexpr generic::X< T > mir::geometry::as_x (generic::Width< T > const &w)
 
template<typename T >
constexpr generic::Y< T > mir::geometry::as_y (generic::Height< T > const &h)
 
template<typename T >
constexpr generic::Width< T > mir::geometry::as_width (generic::X< T > const &x)
 
template<typename T >
constexpr generic::Height< T > mir::geometry::as_height (generic::Y< T > const &y)
 
template<typename T >
constexpr generic::DeltaX< T > mir::geometry::as_delta (generic::Width< T > const &w)
 
template<typename T >
constexpr generic::DeltaY< T > mir::geometry::as_delta (generic::Height< T > const &h)
 

Copyright © 2012-2023 Canonical Ltd.
Generated on Tue 2 May 10:01:24 UTC 2023
This documentation is licensed under the GPL version 2 or 3.