소스 검색

* Added specialization to write object to stream that has the method std::string to_string(void)

master
bergmann 6 년 전
부모
커밋
c1ae1162b7
2개의 변경된 파일19개의 추가작업 그리고 0개의 파일을 삭제
  1. +9
    -0
      include/cppcore/conversion/string.h
  2. +10
    -0
      include/cppcore/conversion/string.inl

+ 9
- 0
include/cppcore/conversion/string.h 파일 보기

@@ -218,6 +218,15 @@ namespace std
std::forward<X>(x).to_string(std::declval<basic_ostream<T_char, T_traits>&>()),
std::declval<basic_ostream<T_char, T_traits>&>());

/**
* @brief Operator overload to write value to stream that supports the to_string method, with stream parameter.
*/
template<typename T_char, typename T_traits, typename X>
inline auto operator<<(basic_ostream<T_char, T_traits>& os, X&& x)
-> decltype(
std::forward<X>(x).to_string(),
std::declval<basic_ostream<T_char, T_traits>&>());

}

#include "string.inl"

+ 10
- 0
include/cppcore/conversion/string.inl 파일 보기

@@ -428,4 +428,14 @@ namespace std
return os;
}

template<typename T_char, typename T_traits, typename X>
inline auto operator<<(basic_ostream<T_char, T_traits>& os, X&& x)
-> decltype(
std::forward<X>(x).to_string(),
std::declval<basic_ostream<T_char, T_traits>&>())
{
os << std::forward<X>(x).to_string();
return os;
}

}

불러오는 중...
취소
저장