From b2ad4d37dd7c87a92a72dc448b857d15514eef9a Mon Sep 17 00:00:00 2001 From: Paul Romano Date: Tue, 14 May 2019 08:47:57 -0500 Subject: [PATCH] Overload operator<< for Position --- include/openmc/position.h | 3 +++ src/position.cpp | 7 +++++++ 2 files changed, 10 insertions(+) diff --git a/include/openmc/position.h b/include/openmc/position.h index 4f0ed8a9ae..2be72b27cb 100644 --- a/include/openmc/position.h +++ b/include/openmc/position.h @@ -3,6 +3,7 @@ #include #include // for sqrt +#include #include // for out_of_range #include @@ -94,6 +95,8 @@ inline bool operator==(Position a, Position b) inline bool operator!=(Position a, Position b) {return a.x != b.x || a.y != b.y || a.z != b.z;} +std::ostream& operator<<(std::ostream& os, Position a); + //============================================================================== //! Type representing a vector direction in Cartesian coordinates //============================================================================== diff --git a/src/position.cpp b/src/position.cpp index d7175912b0..1215bfb12e 100644 --- a/src/position.cpp +++ b/src/position.cpp @@ -94,4 +94,11 @@ Position::rotate(const std::vector& rotation) const }; } +std::ostream& +operator<<(std::ostream& os, Position r) +{ + os << "(" << r.x << ", " << r.y << ", " << r.z << ")"; + return os; +} + } // namespace openmc