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