Basic geometry types. Types for dimensions, displacements, etc. and the operations that they support.
More...
|
template<template< typename > typename T> |
constexpr T< DeltaXTag > | operator+ (T< DeltaXTag > lhs, T< DeltaXTag > rhs) |
|
template<template< typename > typename T> |
constexpr T< DeltaYTag > | operator+ (T< DeltaYTag > lhs, T< DeltaYTag > rhs) |
|
template<template< typename > typename T> |
constexpr T< DeltaXTag > | operator- (T< DeltaXTag > lhs, T< DeltaXTag > rhs) |
|
template<template< typename > typename T> |
constexpr T< DeltaYTag > | operator- (T< DeltaYTag > lhs, T< DeltaYTag > rhs) |
|
template<template< typename > typename T> |
constexpr T< DeltaXTag > | operator- (T< DeltaXTag > rhs) |
|
template<template< typename > typename T> |
constexpr T< DeltaYTag > | operator- (T< DeltaYTag > rhs) |
|
template<template< typename > typename T> |
T< DeltaXTag > & | operator+= (T< DeltaXTag > &lhs, T< DeltaXTag > rhs) |
|
template<template< typename > typename T> |
T< DeltaYTag > & | operator+= (T< DeltaYTag > &lhs, T< DeltaYTag > rhs) |
|
template<template< typename > typename T> |
T< DeltaXTag > & | operator-= (T< DeltaXTag > &lhs, T< DeltaXTag > rhs) |
|
template<template< typename > typename T> |
T< DeltaYTag > & | operator-= (T< DeltaYTag > &lhs, T< DeltaYTag > rhs) |
|
template<template< typename > typename T> |
constexpr T< XTag > | operator+ (T< XTag > lhs, T< DeltaXTag > rhs) |
|
template<template< typename > typename T> |
constexpr T< YTag > | operator+ (T< YTag > lhs, T< DeltaYTag > rhs) |
|
template<template< typename > typename T> |
constexpr T< XTag > | operator- (T< XTag > lhs, T< DeltaXTag > rhs) |
|
template<template< typename > typename T> |
constexpr T< YTag > | operator- (T< YTag > lhs, T< DeltaYTag > rhs) |
|
template<template< typename > typename T> |
T< XTag > & | operator+= (T< XTag > &lhs, T< DeltaXTag > rhs) |
|
template<template< typename > typename T> |
T< YTag > & | operator+= (T< YTag > &lhs, T< DeltaYTag > rhs) |
|
template<template< typename > typename T> |
T< XTag > & | operator-= (T< XTag > &lhs, T< DeltaXTag > rhs) |
|
template<template< typename > typename T> |
T< YTag > & | operator-= (T< YTag > &lhs, T< DeltaYTag > rhs) |
|
template<template< typename > typename T> |
constexpr T< WidthTag > | operator+ (T< WidthTag > lhs, T< DeltaXTag > rhs) |
|
template<template< typename > typename T> |
constexpr T< HeightTag > | operator+ (T< HeightTag > lhs, T< DeltaYTag > rhs) |
|
template<template< typename > typename T> |
constexpr T< WidthTag > | operator- (T< WidthTag > lhs, T< DeltaXTag > rhs) |
|
template<template< typename > typename T> |
constexpr T< HeightTag > | operator- (T< HeightTag > lhs, T< DeltaYTag > rhs) |
|
template<template< typename > typename T> |
T< WidthTag > & | operator+= (T< WidthTag > &lhs, T< DeltaXTag > rhs) |
|
template<template< typename > typename T> |
T< HeightTag > & | operator+= (T< HeightTag > &lhs, T< DeltaYTag > rhs) |
|
template<template< typename > typename T> |
T< WidthTag > & | operator-= (T< WidthTag > &lhs, T< DeltaXTag > rhs) |
|
template<template< typename > typename T> |
T< HeightTag > & | operator-= (T< HeightTag > &lhs, T< DeltaYTag > rhs) |
|
template<template< typename > typename T> |
constexpr T< WidthTag > | operator+ (T< WidthTag > lhs, T< WidthTag > rhs) |
|
template<template< typename > typename T> |
constexpr T< HeightTag > | operator+ (T< HeightTag > lhs, T< HeightTag > rhs) |
|
template<template< typename > typename T> |
T< WidthTag > & | operator+= (T< WidthTag > &lhs, T< WidthTag > rhs) |
|
template<template< typename > typename T> |
T< HeightTag > & | operator+= (T< HeightTag > &lhs, T< HeightTag > rhs) |
|
template<template< typename > typename T> |
constexpr T< DeltaXTag > | operator- (T< XTag > lhs, T< XTag > rhs) |
|
template<template< typename > typename T> |
constexpr T< DeltaYTag > | operator- (T< YTag > lhs, T< YTag > rhs) |
|
template<template< typename > typename T> |
constexpr T< DeltaXTag > | operator- (T< WidthTag > lhs, T< WidthTag > rhs) |
|
template<template< typename > typename T> |
constexpr T< DeltaYTag > | operator- (T< HeightTag > lhs, T< HeightTag > rhs) |
|
template<template< typename > typename T, typename Scalar > |
constexpr T< WidthTag > | operator* (Scalar scale, T< WidthTag > const &w) |
|
template<template< typename > typename T, typename Scalar > |
constexpr T< HeightTag > | operator* (Scalar scale, T< HeightTag > const &h) |
|
template<template< typename > typename T, typename Scalar > |
constexpr T< DeltaXTag > | operator* (Scalar scale, T< DeltaXTag > const &dx) |
|
template<template< typename > typename T, typename Scalar > |
constexpr T< DeltaYTag > | operator* (Scalar scale, T< DeltaYTag > const &dy) |
|
template<template< typename > typename T, typename Scalar > |
constexpr T< WidthTag > | operator* (T< WidthTag > const &w, Scalar scale) |
|
template<template< typename > typename T, typename Scalar > |
constexpr T< HeightTag > | operator* (T< HeightTag > const &h, Scalar scale) |
|
template<template< typename > typename T, typename Scalar > |
constexpr T< DeltaXTag > | operator* (T< DeltaXTag > const &dx, Scalar scale) |
|
template<template< typename > typename T, typename Scalar > |
constexpr T< DeltaYTag > | operator* (T< DeltaYTag > const &dy, Scalar scale) |
|
template<template< typename > typename T, typename Scalar > |
constexpr T< WidthTag > | operator/ (T< WidthTag > const &w, Scalar scale) |
|
template<template< typename > typename T, typename Scalar > |
constexpr T< HeightTag > | operator/ (T< HeightTag > const &h, Scalar scale) |
|
template<template< typename > typename T, typename Scalar > |
constexpr T< DeltaXTag > | operator/ (T< DeltaXTag > const &dx, Scalar scale) |
|
template<template< typename > typename T, typename Scalar > |
constexpr T< DeltaYTag > | operator/ (T< DeltaYTag > const &dy, Scalar scale) |
|
template<template< typename > typename T> |
constexpr T< WidthTag > | as_width (T< DeltaXTag > const &dx) |
|
template<template< typename > typename T> |
constexpr T< HeightTag > | as_height (T< DeltaYTag > const &dy) |
|
template<template< typename > typename T> |
constexpr T< XTag > | as_x (T< DeltaXTag > const &dx) |
|
template<template< typename > typename T> |
constexpr T< YTag > | as_y (T< DeltaYTag > const &dy) |
|
template<template< typename > typename T> |
constexpr T< DeltaXTag > | as_delta (T< XTag > const &x) |
|
template<template< typename > typename T> |
constexpr T< DeltaYTag > | as_delta (T< YTag > const &y) |
|
template<template< typename > typename T> |
constexpr T< XTag > | as_x (T< WidthTag > const &w) |
|
template<template< typename > typename T> |
constexpr T< YTag > | as_y (T< HeightTag > const &h) |
|
template<template< typename > typename T> |
constexpr T< WidthTag > | as_width (T< XTag > const &x) |
|
template<template< typename > typename T> |
constexpr T< HeightTag > | as_height (T< YTag > const &y) |
|
template<template< typename > typename T> |
constexpr T< DeltaXTag > | as_delta (T< WidthTag > const &w) |
|
template<template< typename > typename T> |
constexpr T< DeltaYTag > | as_delta (T< HeightTag > const &h) |
|
template<typename Target , typename Source > |
constexpr Target | dim_cast (Source s) |
|
constexpr Length | operator""_mm (long double mag) |
|
constexpr Length | operator""_mm (unsigned long long mag) |
|
constexpr Length | operator""_cm (long double mag) |
|
constexpr Length | operator""_cm (unsigned long long mag) |
|
constexpr Length | operator""_in (long double mag) |
|
constexpr Length | operator""_in (unsigned long long mag) |
|
std::ostream & | operator<< (std::ostream &out, Rectangles const &value) |
|
Basic geometry types. Types for dimensions, displacements, etc. and the operations that they support.