SyTen
types.h File Reference

A set of utility types to deal with type resolution and basic definitions. More...

#include <limits>
#include <complex>
#include <type_traits>
+ Include dependency graph for types.h:
+ This graph shows which files directly or indirectly include this file:

Classes

struct  syten::IdentityType< Type >
 Identity type template to hinder type deduction. More...
 
struct  syten::is_number< T >
 is_number<T>::value is true if T is a scalar type. More...
 
struct  syten::Maximum
 Type implicitly convertible to the maximum of all types for which a specialisation of std::numeric_limits has been defined. More...
 
struct  syten::ScalarBase< Type >
 ScalarBase<>::type is the base type of a complex type and the type itself if the type is a real scalar. More...
 
struct  syten::Verbose< Type >
 A proxy class to increase verbosity in the output. More...
 

Namespaces

 syten
 Syten namespace.
 

Typedefs

template<class T >
using syten::BaseType = typename std::remove_cv_t< std::remove_reference_t< T > >
 Template alias to obtain the base type of some (potentially reference-) type T. More...
 

Functions

template<typename T >
std::string syten::describe_scalar_type ()
 Template used to generate a std::string describing the type in question. More...
 
template<typename T >
constexpr auto syten::is_complex ()
 Returns true if T is of the form std::complex<X>. More...
 
template<typename Type >
Verbose< Type > syten::verbose (Type const &t)
 Returns Verbose(t) for all t. More...
 

Variables

template<typename T >
constexpr bool syten::is_number_v = is_number<T>::value
 Variable template for is_number. More...
 

Detailed Description

A set of utility types to deal with type resolution and basic definitions.