mpqc::LimitExceeded< T > Class Template Reference
Collaboration diagram for mpqc::LimitExceeded< T >:

Documentation

template<class T>
class mpqc::LimitExceeded< T >

This is thrown when a limit is exceeded. It is more general than ToleranceExceeded. For problems that are numerical in nature and use double types, then ToleranceExceeded should be used instead.

Public Member Functions

 LimitExceeded (const char *description, const char *file, int line, T lim, T val, const char *exception_type=strdup((std::string("LimitExceeded<")+std::string(typeid(T).name())+std::string(">")) .c_str())) noexcept
 
 LimitExceeded (const LimitExceeded &ref)=default
 
 LimitExceeded (LimitExceeded &&ref)=default
 
virtual ~LimitExceeded ()=default
 
tolerance () noexcept
 The limit which was exceeded. More...
 
value () noexcept
 The value which exceeded the limit. More...
 
- Public Member Functions inherited from mpqc::Exception
 Exception (const char *description=0, const char *file=0, int line=0, const char *exception_type="Exception") noexcept
 
 Exception (const Exception &) noexcept
 
 Exception (Exception &&)=default
 
virtual ~Exception () noexcept
 
const char * what () const noexcept
 overload of Exception::what() More...
 
const char * exception_type () const noexcept
 Returns the classname of the exception. May return null. More...
 
std::ostream & elaborate ()
 
- Public Member Functions inherited from mpqc::detail::Exception
 Exception (const char *description=0, const char *file=0, int line=0) noexcept
 
 Exception (const Exception &)=default
 
 Exception (Exception &&)=default
 
const char * description () const noexcept
 
const char * file () const noexcept
 
int line () const noexcept
 

Constructor & Destructor Documentation

◆ LimitExceeded() [1/3]

template<class T >
mpqc::LimitExceeded< T >::LimitExceeded ( const char *  description,
const char *  file,
int  line,
lim,
val,
const char *  exception_type = strdup((std::string("LimitExceeded<") +                            std::string(typeid(T).name()) + std::string(">"))                               .c_str()) 
)
inlinenoexcept

Create a LimitExceeded exception.

Parameters
descriptiona description of the problem.
filethe file name where the problem occured.
linethe line number where the exception occured.
limthe limit.
valthe value which was obtained.
exception_typethe classname of the Exception specialization. The default is "LimitExceeded".

It is suggested that the special macros FILE and LINE be given as the file and line arguments, respectively.

◆ LimitExceeded() [2/3]

template<class T >
mpqc::LimitExceeded< T >::LimitExceeded ( const LimitExceeded< T > &  ref)
default

◆ LimitExceeded() [3/3]

template<class T >
mpqc::LimitExceeded< T >::LimitExceeded ( LimitExceeded< T > &&  ref)
default

◆ ~LimitExceeded()

template<class T >
virtual mpqc::LimitExceeded< T >::~LimitExceeded ( )
virtualdefault

Member Function Documentation

◆ tolerance()

template<class T >
T mpqc::LimitExceeded< T >::tolerance ( )
inlinenoexcept

The limit which was exceeded.

◆ value()

template<class T >
T mpqc::LimitExceeded< T >::value ( )
inlinenoexcept

The value which exceeded the limit.


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