diff --git a/libdevcore/CommonIO.h b/libdevcore/CommonIO.h index 98c5a96c7..11422db9a 100644 --- a/libdevcore/CommonIO.h +++ b/libdevcore/CommonIO.h @@ -55,6 +55,18 @@ std::string memDump(bytes const& _b, unsigned _w = 8, bool _html = false); template struct StreamOut { static S& bypass(S& _out, T const& _t) { _out << _t; return _out; } }; template struct StreamOut { static S& bypass(S& _out, uint8_t const& _t) { _out << (int)_t; return _out; } }; +template inline std::ostream& operator<<(std::ostream& _out, std::vector const& _e); +template inline std::ostream& operator<<(std::ostream& _out, std::array const& _e); +template inline std::ostream& operator<<(std::ostream& _out, std::pair const& _e); +template inline std::ostream& operator<<(std::ostream& _out, std::list const& _e); +template inline std::ostream& operator<<(std::ostream& _out, std::tuple const& _e); +template inline std::ostream& operator<<(std::ostream& _out, std::map const& _e); +template inline std::ostream& operator<<(std::ostream& _out, std::unordered_map const& _e); +template inline std::ostream& operator<<(std::ostream& _out, std::set const& _e); +template inline std::ostream& operator<<(std::ostream& _out, std::unordered_set const& _e); +template inline std::ostream& operator<<(std::ostream& _out, std::multimap const& _e); +template _S& operator<<(_S& _out, std::shared_ptr<_T> const& _p); + template inline S& streamout(S& _out, std::vector const& _e) {