API
Catch::Detail::Approx Class Reference

#include <catch.hpp>

Collaboration diagram for Catch::Detail::Approx:
Collaboration graph

Public Member Functions

 Approx (double value)
 
Approx operator- () const
 
template<typename T , typename = typename std::enable_if<std::is_constructible<double, T>::value>::type>
Approx operator() (T const &value) const
 
template<typename T , typename = typename std::enable_if<std::is_constructible<double, T>::value>::type>
 Approx (T const &value)
 
template<typename T , typename = typename std::enable_if<std::is_constructible<double, T>::value>::type>
Approxepsilon (T const &newEpsilon)
 
template<typename T , typename = typename std::enable_if<std::is_constructible<double, T>::value>::type>
Approxmargin (T const &newMargin)
 
template<typename T , typename = typename std::enable_if<std::is_constructible<double, T>::value>::type>
Approxscale (T const &newScale)
 
std::string toString () const
 

Static Public Member Functions

static Approx custom ()
 

Private Member Functions

bool equalityComparisonImpl (double other) const
 
void setMargin (double margin)
 
void setEpsilon (double epsilon)
 

Private Attributes

double m_epsilon
 
double m_margin
 
double m_scale
 
double m_value
 

Friends

template<typename T , typename = typename std::enable_if<std::is_constructible<double, T>::value>::type>
bool operator== (const T &lhs, Approx const &rhs)
 
template<typename T , typename = typename std::enable_if<std::is_constructible<double, T>::value>::type>
bool operator== (Approx const &lhs, const T &rhs)
 
template<typename T , typename = typename std::enable_if<std::is_constructible<double, T>::value>::type>
bool operator!= (T const &lhs, Approx const &rhs)
 
template<typename T , typename = typename std::enable_if<std::is_constructible<double, T>::value>::type>
bool operator!= (Approx const &lhs, T const &rhs)
 
template<typename T , typename = typename std::enable_if<std::is_constructible<double, T>::value>::type>
bool operator<= (T const &lhs, Approx const &rhs)
 
template<typename T , typename = typename std::enable_if<std::is_constructible<double, T>::value>::type>
bool operator<= (Approx const &lhs, T const &rhs)
 
template<typename T , typename = typename std::enable_if<std::is_constructible<double, T>::value>::type>
bool operator>= (T const &lhs, Approx const &rhs)
 
template<typename T , typename = typename std::enable_if<std::is_constructible<double, T>::value>::type>
bool operator>= (Approx const &lhs, T const &rhs)
 

Detailed Description

Definition at line 3078 of file catch.hpp.

Constructor & Destructor Documentation

◆ Approx() [1/2]

Catch::Detail::Approx::Approx ( double  value)
explicit

◆ Approx() [2/2]

template<typename T , typename = typename std::enable_if<std::is_constructible<double, T>::value>::type>
Catch::Detail::Approx::Approx ( T const &  value)
inlineexplicit

Definition at line 3105 of file catch.hpp.

Member Function Documentation

◆ custom()

static Approx Catch::Detail::Approx::custom ( )
static

◆ epsilon()

template<typename T , typename = typename std::enable_if<std::is_constructible<double, T>::value>::type>
Approx& Catch::Detail::Approx::epsilon ( T const &  newEpsilon)
inline

Definition at line 3150 of file catch.hpp.

◆ equalityComparisonImpl()

bool Catch::Detail::Approx::equalityComparisonImpl ( double  other) const
private

◆ margin()

template<typename T , typename = typename std::enable_if<std::is_constructible<double, T>::value>::type>
Approx& Catch::Detail::Approx::margin ( T const &  newMargin)
inline

Definition at line 3157 of file catch.hpp.

◆ operator()()

template<typename T , typename = typename std::enable_if<std::is_constructible<double, T>::value>::type>
Approx Catch::Detail::Approx::operator() ( T const &  value) const
inline

Definition at line 3096 of file catch.hpp.

◆ operator-()

Approx Catch::Detail::Approx::operator- ( ) const

◆ scale()

template<typename T , typename = typename std::enable_if<std::is_constructible<double, T>::value>::type>
Approx& Catch::Detail::Approx::scale ( T const &  newScale)
inline

Definition at line 3164 of file catch.hpp.

◆ setEpsilon()

void Catch::Detail::Approx::setEpsilon ( double  epsilon)
private

◆ setMargin()

void Catch::Detail::Approx::setMargin ( double  margin)
private

◆ toString()

std::string Catch::Detail::Approx::toString ( ) const

Friends And Related Function Documentation

◆ operator!= [1/2]

template<typename T , typename = typename std::enable_if<std::is_constructible<double, T>::value>::type>
bool operator!= ( Approx const &  lhs,
T const &  rhs 
)
friend

Definition at line 3125 of file catch.hpp.

◆ operator!= [2/2]

template<typename T , typename = typename std::enable_if<std::is_constructible<double, T>::value>::type>
bool operator!= ( T const &  lhs,
Approx const &  rhs 
)
friend

Definition at line 3120 of file catch.hpp.

◆ operator<= [1/2]

template<typename T , typename = typename std::enable_if<std::is_constructible<double, T>::value>::type>
bool operator<= ( Approx const &  lhs,
T const &  rhs 
)
friend

Definition at line 3135 of file catch.hpp.

◆ operator<= [2/2]

template<typename T , typename = typename std::enable_if<std::is_constructible<double, T>::value>::type>
bool operator<= ( T const &  lhs,
Approx const &  rhs 
)
friend

Definition at line 3130 of file catch.hpp.

◆ operator== [1/2]

template<typename T , typename = typename std::enable_if<std::is_constructible<double, T>::value>::type>
bool operator== ( Approx const &  lhs,
const T &  rhs 
)
friend

Definition at line 3115 of file catch.hpp.

◆ operator== [2/2]

template<typename T , typename = typename std::enable_if<std::is_constructible<double, T>::value>::type>
bool operator== ( const T &  lhs,
Approx const &  rhs 
)
friend

Definition at line 3109 of file catch.hpp.

◆ operator>= [1/2]

template<typename T , typename = typename std::enable_if<std::is_constructible<double, T>::value>::type>
bool operator>= ( Approx const &  lhs,
T const &  rhs 
)
friend

Definition at line 3145 of file catch.hpp.

◆ operator>= [2/2]

template<typename T , typename = typename std::enable_if<std::is_constructible<double, T>::value>::type>
bool operator>= ( T const &  lhs,
Approx const &  rhs 
)
friend

Definition at line 3140 of file catch.hpp.

Member Data Documentation

◆ m_epsilon

double Catch::Detail::Approx::m_epsilon
private

Definition at line 3172 of file catch.hpp.

Referenced by operator()().

◆ m_margin

double Catch::Detail::Approx::m_margin
private

Definition at line 3173 of file catch.hpp.

Referenced by operator()().

◆ m_scale

double Catch::Detail::Approx::m_scale
private

Definition at line 3174 of file catch.hpp.

Referenced by operator()().

◆ m_value

double Catch::Detail::Approx::m_value
private

Definition at line 3175 of file catch.hpp.


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