Bounded Value Types

Types for bounding values. More...

Typedefs

template<typename T >
using playrho::NonNegative = std::enable_if_t<!std::is_pointer< T >::value, BoundedValue< T, LoValueCheck::ZeroOrMore, HiValueCheck::Any > >
 Non negative bounded value type. More...
 
template<typename T >
using playrho::NonPositive = BoundedValue< T, LoValueCheck::Any, HiValueCheck::ZeroOrLess >
 Non positive bounded value type. More...
 
template<typename T >
using playrho::Positive = BoundedValue< T, LoValueCheck::AboveZero, HiValueCheck::Any >
 Positive bounded value type. More...
 
template<typename T >
using playrho::Negative = BoundedValue< T, LoValueCheck::Any, HiValueCheck::BelowZero >
 Negative bounded value type. More...
 
template<typename T >
using playrho::Finite = BoundedValue< T, LoValueCheck::AboveNegInf, HiValueCheck::BelowPosInf >
 Finite bounded value type. More...
 
template<typename T >
using playrho::NonZero = std::enable_if_t<!std::is_pointer< T >::value, BoundedValue< T, LoValueCheck::NonZero, HiValueCheck::Any > >
 Non zero bounded value type. More...
 
template<typename T >
using playrho::NonNull = std::enable_if_t< std::is_pointer< T >::value, BoundedValue< T, LoValueCheck::NonZero, HiValueCheck::Any > >
 Non-null pointer type. More...
 
template<typename T >
using playrho::UnitInterval = BoundedValue< T, LoValueCheck::ZeroOrMore, HiValueCheck::OneOrLess >
 Unit interval bounded value type. More...
 

Detailed Description

Types for bounding values.

Type aliases for bounding values via on-construction checks that throw the InvalidArgument exception if an attempt is made to construct the bounded value type with a value not allowed by the specific alias.

See also
BoundedValue, InvalidArgument

Typedef Documentation

◆ NonNegative

template<typename T >
using playrho::NonNegative = typedef std::enable_if_t<!std::is_pointer<T>::value, BoundedValue<T, LoValueCheck::ZeroOrMore, HiValueCheck::Any> >

Non negative bounded value type.

Definition at line 547 of file BoundedValue.hpp.

◆ NonPositive

Non positive bounded value type.

Definition at line 551 of file BoundedValue.hpp.

◆ Positive

template<typename T >
using playrho::Positive = typedef BoundedValue<T, LoValueCheck::AboveZero, HiValueCheck::Any>

Positive bounded value type.

Definition at line 555 of file BoundedValue.hpp.

◆ Negative

template<typename T >
using playrho::Negative = typedef BoundedValue<T, LoValueCheck::Any, HiValueCheck::BelowZero>

Negative bounded value type.

Definition at line 559 of file BoundedValue.hpp.

◆ Finite

Finite bounded value type.

Definition at line 563 of file BoundedValue.hpp.

◆ NonZero

template<typename T >
using playrho::NonZero = typedef std::enable_if_t<!std::is_pointer<T>::value, BoundedValue<T, LoValueCheck::NonZero, HiValueCheck::Any> >

Non zero bounded value type.

Definition at line 568 of file BoundedValue.hpp.

◆ NonNull

template<typename T >
using playrho::NonNull = typedef std::enable_if_t<std::is_pointer<T>::value, BoundedValue<T, LoValueCheck::NonZero, HiValueCheck::Any> >

Non-null pointer type.

Note
Clang will error with "no type named 'type'" if used to bound a non-pointer.

Definition at line 574 of file BoundedValue.hpp.

◆ UnitInterval

Unit interval bounded value type.

Definition at line 578 of file BoundedValue.hpp.