Test availability of stream operators.
More...
#include <JStreamAvailable.hh>
|
static const bool | has_istream = std::is_same<std::istream&, decltype(is<T>(0))>::value |
| true if std::istream& operator>>(std::istream&, T&) is defined; else false More...
|
|
static const bool | has_ostream = std::is_same<std::ostream&, decltype(os<T>(0))>::value |
| true if std::ostream& operator<<(std::ostream&, const T&) is defined; else false More...
|
|
|
template<class U > |
static auto | is (U *) -> decltype(std::declval< std::istream & >() >> std::declval< U & >()) |
|
template<class U > |
static auto | os (U *) -> decltype(std::declval< std::ostream & >()<< std::declval< const U & >()) |
|
template<typename > |
static auto | is (...) -> std::false_type |
|
template<typename > |
static auto | os (...) -> std::false_type |
|
template<class T>
class JStreamAvailable< T >
Test availability of stream operators.
- Author
- mdejong
Definition at line 19 of file JStreamAvailable.hh.
template<class T >
template<class U >
static auto JStreamAvailable< T >::is |
( |
U * |
| ) |
-> decltype(std::declval< std::istream & >() >> std::declval< U & >()) |
|
staticprivate |
template<class T >
template<class U >
static auto JStreamAvailable< T >::os |
( |
U * |
| ) |
-> decltype(std::declval< std::ostream & >()<< std::declval< const U & >()) |
|
staticprivate |
template<class T >
template<typename >
template<class T >
template<typename >
template<class T >
const bool JStreamAvailable< T >::has_istream = std::is_same<std::istream&, decltype(is<T>(0))>::value |
|
static |
true if std::istream& operator>>(std::istream&, T&)
is defined; else false
Definition at line 28 of file JStreamAvailable.hh.
template<class T >
const bool JStreamAvailable< T >::has_ostream = std::is_same<std::ostream&, decltype(os<T>(0))>::value |
|
static |
true if std::ostream& operator<<(std::ostream&, const T&)
is defined; else false
Definition at line 29 of file JStreamAvailable.hh.
The documentation for this class was generated from the following file: