diff --git a/libuavcan/include/uavcan/helpers/ostream.hpp b/libuavcan/include/uavcan/helpers/ostream.hpp index 447b0b9a5e..60edcc010f 100644 --- a/libuavcan/include/uavcan/helpers/ostream.hpp +++ b/libuavcan/include/uavcan/helpers/ostream.hpp @@ -36,25 +36,25 @@ public: } }; -OStream& operator<<(OStream& s, long long x) { std::printf("%lld", x); return s; } -OStream& operator<<(OStream& s, unsigned long long x) { std::printf("%llud", x); return s; } +inline OStream& operator<<(OStream& s, long long x) { std::printf("%lld", x); return s; } +inline OStream& operator<<(OStream& s, unsigned long long x) { std::printf("%llud", x); return s; } -OStream& operator<<(OStream& s, long x) { std::printf("%ld", x); return s; } -OStream& operator<<(OStream& s, unsigned long x) { std::printf("%lu", x); return s; } +inline OStream& operator<<(OStream& s, long x) { std::printf("%ld", x); return s; } +inline OStream& operator<<(OStream& s, unsigned long x) { std::printf("%lu", x); return s; } -OStream& operator<<(OStream& s, int x) { std::printf("%d", x); return s; } -OStream& operator<<(OStream& s, unsigned int x) { std::printf("%u", x); return s; } +inline OStream& operator<<(OStream& s, int x) { std::printf("%d", x); return s; } +inline OStream& operator<<(OStream& s, unsigned int x) { std::printf("%u", x); return s; } -OStream& operator<<(OStream& s, short x) { return operator<<(s, static_cast(x)); } -OStream& operator<<(OStream& s, unsigned short x) { return operator<<(s, static_cast(x)); } +inline OStream& operator<<(OStream& s, short x) { return operator<<(s, static_cast(x)); } +inline OStream& operator<<(OStream& s, unsigned short x) { return operator<<(s, static_cast(x)); } -OStream& operator<<(OStream& s, long double x) { std::printf("%Lg", x); return s; } -OStream& operator<<(OStream& s, double x) { std::printf("%g", x); return s; } -OStream& operator<<(OStream& s, float x) { return operator<<(s, static_cast(x)); } +inline OStream& operator<<(OStream& s, long double x) { std::printf("%Lg", x); return s; } +inline OStream& operator<<(OStream& s, double x) { std::printf("%g", x); return s; } +inline OStream& operator<<(OStream& s, float x) { return operator<<(s, static_cast(x)); } -OStream& operator<<(OStream& s, char x) { std::printf("%c", x); return s; } -OStream& operator<<(OStream& s, const char* x) { std::printf("%s", x); return s; } +inline OStream& operator<<(OStream& s, char x) { std::printf("%c", x); return s; } +inline OStream& operator<<(OStream& s, const char* x) { std::printf("%s", x); return s; } -OStream& operator<<(OStream& s, OStream&(*manip)(OStream&)) { return manip(s); } +inline OStream& operator<<(OStream& s, OStream&(*manip)(OStream&)) { return manip(s); } }