From ea5f90dbf2df133f4ea5b6eda57322e2904032a6 Mon Sep 17 00:00:00 2001 From: Danny Robson Date: Tue, 19 Aug 2014 20:46:15 +1000 Subject: [PATCH] matrix: move ostream operator into util namespace --- matrix.cpp | 44 ++++++++++++++++++++++++-------------------- matrix.hpp | 7 +++++-- 2 files changed, 29 insertions(+), 22 deletions(-) diff --git a/matrix.cpp b/matrix.cpp index adce19f4..97a8ee36 100644 --- a/matrix.cpp +++ b/matrix.cpp @@ -405,26 +405,30 @@ namespace util { } //----------------------------------------------------------------------------- -template -std::ostream& -operator<< (std::ostream &os, const matrix &m) { - os << "{ {" << m.values[0][0] << ", " - << m.values[0][1] << ", " - << m.values[0][2] << ", " - << m.values[0][3] << "}, " - << "{" << m.values[1][0] << ", " - << m.values[1][1] << ", " - << m.values[1][2] << ", " - << m.values[1][3] << "}, " - << "{" << m.values[2][0] << ", " - << m.values[2][1] << ", " - << m.values[2][2] << ", " - << m.values[2][3] << "}, " - << "{" << m.values[3][0] << ", " - << m.values[3][1] << ", " - << m.values[3][2] << ", " - << m.values[3][3] << "} }"; +namespace util { + template + std::ostream& + operator<< (std::ostream &os, const matrix &m) { + os << "{ {" << m.values[0][0] << ", " + << m.values[0][1] << ", " + << m.values[0][2] << ", " + << m.values[0][3] << "}, " + << "{" << m.values[1][0] << ", " + << m.values[1][1] << ", " + << m.values[1][2] << ", " + << m.values[1][3] << "}, " + << "{" << m.values[2][0] << ", " + << m.values[2][1] << ", " + << m.values[2][2] << ", " + << m.values[2][3] << "}, " + << "{" << m.values[3][0] << ", " + << m.values[3][1] << ", " + << m.values[3][2] << ", " + << m.values[3][3] << "} }"; - return os; + return os; + } } +template std::ostream& util::operator<< (std::ostream&, const matrix&); +template std::ostream& util::operator<< (std::ostream&, const matrix&); diff --git a/matrix.hpp b/matrix.hpp index ed88422e..702ce5f1 100644 --- a/matrix.hpp +++ b/matrix.hpp @@ -59,9 +59,12 @@ namespace util { static const matrix IDENTITY; static const matrix ZEROES; }; + + typedef matrix matrixf; + + template + std::ostream& operator<< (std::ostream&, const util::matrix&); } -template -std::ostream& operator<< (std::ostream&, const util::matrix&); #endif