Classes | |
struct | any_t |
This dummy class is used to make the matching of the dummy operator<<() worse than the global operator<<() , if any. More... | |
class | has_insertion_operator |
The implementation class that can be used to determine whether a given type T has a global std::ostream& operator<<(std::ostream&,T const&) defined for it. More... |
Typedefs | |
typedef char | no |
typedef char | yes [2] |
Functions | |
yes & | defined (std::ostream &) |
This function is matched only when there is a global operator<<() declared for type T because operator<<()'s return type is std::ostream& . | |
no | defined (no) |
This function is matched only when the dummy operator<<() is matched. | |
no | operator<< (std::ostream const &, any_t const &) |
This dummy operator is matched only when there is no global operator<<() otherwise declared for type T . |
typedef char zorba::internal::ztd::has_insertion_operator_impl::yes[2] |
yes& zorba::internal::ztd::has_insertion_operator_impl::defined | ( | std::ostream & | ) |
This function is matched only when there is a global operator<<()
declared for type T
because operator<<()'s
return type is std::ostream&
.
sizeof()
equals sizeof(yes)
. no zorba::internal::ztd::has_insertion_operator_impl::defined | ( | no | ) |
This function is matched only when the dummy operator<<()
is matched.
sizeof()
equals sizeof(no)
. no zorba::internal::ztd::has_insertion_operator_impl::operator<< | ( | std::ostream const & | , |
any_t const & | |||
) |
This dummy operator is matched only when there is no global operator<<() otherwise declared for type T
.
no
that selects defined(no).