jubilant-funicular
|
#include <Wrapper.h>
Public Member Functions | |
StrongWrapper (T data) | |
![]() | |
Wrapper (T data=T()) | |
const T & | to_inner () const |
T & | to_inner () |
operator T () const | |
template<typename U > | |
auto | operator== (const U &rhs) const -> decltype(std::enable_if_t< check::EqualsExists< T, U >::value, bool > |
template<typename std::enable_if_t< check::EqualsExists< T >::value > * = nullptr> | |
bool | operator== (const Wrapper &rhs) const |
template<typename U > | |
auto | operator!= (const U &rhs) const -> decltype(std::enable_if_t< check::EqualsExists< T, U >::value, bool > |
template<typename std::enable_if_t< check::EqualsExists< T >::value > * = nullptr> | |
bool | operator!= (const Wrapper &rhs) const |
template<typename U , typename std::enable_if_t< check::AddExists< T, U >::value > * = nullptr> | |
Wrapper | operator+ (const U &rhs) const |
template<typename U , typename std::enable_if_t< check::AddExists< T, U >::value > * = nullptr> | |
Wrapper & | operator+= (const U &rhs) |
template<typename U , typename std::enable_if_t< check::SubExists< T, U >::value > * = nullptr> | |
Wrapper | operator- (const U &rhs) const |
template<typename U , typename std::enable_if_t< check::SubExists< T, U >::value > * = nullptr> | |
Wrapper & | operator-= (const U &rhs) |
template<typename U , typename std::enable_if_t< check::DivExists< T, U >::value > * = nullptr> | |
Wrapper | operator/ (const U &rhs) const |
template<typename U , typename std::enable_if_t< check::DivExists< T, U >::value > * = nullptr> | |
Wrapper & | operator/= (const U &rhs) |
template<typename U , typename std::enable_if_t< check::MulExists< T, U >::value > * = nullptr> | |
Wrapper | operator* (const U &rhs) const |
template<typename U , typename std::enable_if_t< check::MulExists< T, U >::value > * = nullptr> | |
Wrapper & | operator*= (const U &rhs) |
template<typename U , typename std::enable_if_t< check::AndExists< T, U >::value > * = nullptr> | |
Wrapper | operator& (const U &rhs) const |
template<typename U , typename std::enable_if_t< check::AndExists< T, U >::value > * = nullptr> | |
Wrapper & | operator&= (const U &rhs) |
template<typename U , typename std::enable_if_t< check::OrExists< T, U >::value > * = nullptr> | |
Wrapper | operator| (const U &rhs) const |
template<typename U , typename std::enable_if_t< check::OrExists< T, U >::value > * = nullptr> | |
Wrapper & | operator|= (const U &rhs) |
template<typename U , typename std::enable_if_t< check::LShiftExists< T, U >::value > * = nullptr> | |
Wrapper | operator<< (const U &rhs) const |
template<typename U , typename std::enable_if_t< check::LShiftExists< T, U >::value > * = nullptr> | |
Wrapper & | operator<<= (const U &rhs) |
template<typename U , typename std::enable_if_t< check::RShiftExists< T, U >::value > * = nullptr> | |
Wrapper | operator>> (const U &rhs) const |
template<typename U , typename std::enable_if_t< check::RShiftExists< T, U >::value > * = nullptr> | |
Wrapper & | operator>>= (const U &rhs) |
template<typename U , typename std::enable_if_t< check::ModExists< T, U >::value > * = nullptr> | |
Wrapper | operator% (const U &rhs) const |
template<typename U , typename std::enable_if_t< check::ModExists< T, U >::value > * = nullptr> | |
Wrapper & | operator%= (const U &rhs) |
template<typename U , typename std::enable_if_t< check::GreaterExists< T, U >::value > * = nullptr> | |
bool | operator> (const U &rhs) const |
template<typename U , typename std::enable_if_t< check::GreaterExists< T, U >::value &&check::EqualsExists< T, U >::value > * = nullptr> | |
bool | operator>= (const U &rhs) const |
template<typename U , typename std::enable_if_t< check::LesserExists< T, U >::value > * = nullptr> | |
bool | operator< (const U &rhs) const |
template<typename U , typename std::enable_if_t< check::LesserExists< T, U >::value &&check::EqualsExists< T, U >::value > * = nullptr> | |
bool | operator<= (const U &rhs) const |
Additional Inherited Members | |
![]() | |
typedef T | inner |
A generic class for creating wrappers around (non-reference) types
Automatically inherts all operations available to the inner type T. This includes the ability to print it using e.g. cout<<
Must be explicitly constructed.
usage: using Name = utils::StrongWrapper<std::string, struct NameTag>