types: Simplify ostream operators
We don't really care if it derives from ostream, just take any type.
Change-Id: Ifab0b7bd4476ddecc7fe80923b82f012a2974f47
Signed-off-by: William A. Kennington III <wak@google.com>
diff --git a/src/types.hpp b/src/types.hpp
index 342c8cc..fa75638 100644
--- a/src/types.hpp
+++ b/src/types.hpp
@@ -247,31 +247,22 @@
return phosphor::network::detail::veq(rhs, lhs);
}
-template <typename CharT, typename Traits>
-std::basic_ostream<CharT, Traits>&
- operator<<(std::basic_ostream<CharT, Traits>& os, ether_addr v)
+auto& operator<<(auto& os, ether_addr v)
{
return os << phosphor::network::detail::AddrBufMaker<ether_addr>{}(v);
}
-template <typename CharT, typename Traits>
-std::basic_ostream<CharT, Traits>&
- operator<<(std::basic_ostream<CharT, Traits>& os, in_addr v)
+auto& operator<<(auto& os, in_addr v)
{
return os << phosphor::network::detail::AddrBufMaker<in_addr>{}(v);
}
-template <typename CharT, typename Traits>
-std::basic_ostream<CharT, Traits>&
- operator<<(std::basic_ostream<CharT, Traits>& os, in6_addr v)
+auto& operator<<(auto& os, in6_addr v)
{
return os << phosphor::network::detail::AddrBufMaker<in6_addr>{}(v);
}
-template <typename CharT, typename Traits>
-std::basic_ostream<CharT, Traits>&
- operator<<(std::basic_ostream<CharT, Traits>& os,
- phosphor::network::InAddrAny v)
+auto& operator<<(auto& os, phosphor::network::InAddrAny v)
{
return os << std::visit(
[](auto v) {