diff options
author | Dan Goodliffe <dan@randomdan.homeip.net> | 2021-02-28 15:42:39 +0000 |
---|---|---|
committer | Dan Goodliffe <dan@randomdan.homeip.net> | 2021-02-28 15:42:39 +0000 |
commit | d63f5ce1cb86e69da28bd74b21e9452dbd88a38f (patch) | |
tree | 0c9495f8cb5af05e6068b69d5d57551cc2331a97 /lib/stream_support.hpp | |
parent | Just use addLinksBetween (diff) | |
download | ilt-d63f5ce1cb86e69da28bd74b21e9452dbd88a38f.tar.bz2 ilt-d63f5ce1cb86e69da28bd74b21e9452dbd88a38f.tar.xz ilt-d63f5ce1cb86e69da28bd74b21e9452dbd88a38f.zip |
Move utility to lib
Diffstat (limited to 'lib/stream_support.hpp')
-rw-r--r-- | lib/stream_support.hpp | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/lib/stream_support.hpp b/lib/stream_support.hpp new file mode 100644 index 0000000..1ee1661 --- /dev/null +++ b/lib/stream_support.hpp @@ -0,0 +1,42 @@ +#ifndef STREAM_SUPPORT_H +#define STREAM_SUPPORT_H + +#include <glm/glm.hpp> +#include <iostream> +#include <maths.h> + +namespace std { + template<glm::length_t L, glm::length_t R, typename T, glm::qualifier Q> + std::ostream & + operator<<(std::ostream & s, const glm::mat<L, R, T, Q> & m) + { + for (int y = 0; y < m.length(); y++) { + const auto & col = m[y]; + for (int x = 0; x < col.length(); x++) { + s << col[x] << ", "; + } + s << "\n"; + } + return s; + } + + template<glm::length_t L, typename T, glm::qualifier Q> + std::ostream & + operator<<(std::ostream & s, const glm::vec<L, T, Q> & v) + { + for (int x = 0; x < L; x++) { + s << v[x] << ", "; + } + return s; + } + + inline std::ostream & + operator<<(std::ostream & s, const Arc & arc) + { + return s << arc.first << " ↺ " << arc.second; + } +} + +#define CLOG(x) std::clog << #x " : " << x << "\n"; + +#endif |