From eb9979824188d1e02179ec7e27983600186c33a7 Mon Sep 17 00:00:00 2001 From: Snaipe Date: Mon, 21 Sep 2015 08:43:12 -0700 Subject: [PATCH] [Issue #51] Removed template declaration to redirection functions --- include/criterion/redirect.h | 48 +++++++++++++++++------------------- 1 file changed, 23 insertions(+), 25 deletions(-) diff --git a/include/criterion/redirect.h b/include/criterion/redirect.h index 66acdb2..4851b3d 100644 --- a/include/criterion/redirect.h +++ b/include/criterion/redirect.h @@ -235,42 +235,40 @@ public: {} }; - template - struct get_redirected_out_stream_ { - static inline basic_ofstream& call(std::FILE* f) { - static std::unique_ptr> stream; - - if (!stream) - stream.reset(new basic_ofstream(f)); - return *stream; - } - - }; - - template - struct get_redirected_in_stream_ { - static inline basic_ifstream& call(std::FILE* f) { - static std::unique_ptr> stream; - if (!stream) - stream.reset(new basic_ifstream(f)); - return *stream; - } - }; - using ofstream = basic_ofstream; using ifstream = basic_ifstream; using fstream = basic_fstream; + struct get_redirected_out_stream_ { + static inline ofstream& call(std::FILE* f) { + static std::unique_ptr stream; + + if (!stream) + stream.reset(new ofstream(f)); + return *stream; + } + + }; + + struct get_redirected_in_stream_ { + static inline ifstream& call(std::FILE* f) { + static std::unique_ptr stream; + if (!stream) + stream.reset(new ifstream(f)); + return *stream; + } + }; + static inline ofstream& get_redirected_cin(void) { - return get_redirected_out_stream_::call(cr_get_redirected_stdin()); + return get_redirected_out_stream_::call(cr_get_redirected_stdin()); } static inline ifstream& get_redirected_cout(void) { - return get_redirected_in_stream_::call(cr_get_redirected_stdout()); + return get_redirected_in_stream_::call(cr_get_redirected_stdout()); } static inline ifstream& get_redirected_cerr(void) { - return get_redirected_in_stream_::call(cr_get_redirected_stderr()); + return get_redirected_in_stream_::call(cr_get_redirected_stderr()); } # if __GNUC__ >= 5