diff options
Diffstat (limited to 'test/std/input.output/file.streams/fstreams/ofstream.assign/nonmember_swap.pass.cpp')
| -rw-r--r-- | test/std/input.output/file.streams/fstreams/ofstream.assign/nonmember_swap.pass.cpp | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/test/std/input.output/file.streams/fstreams/ofstream.assign/nonmember_swap.pass.cpp b/test/std/input.output/file.streams/fstreams/ofstream.assign/nonmember_swap.pass.cpp index d58f5f2560042..31f2153ebd4c3 100644 --- a/test/std/input.output/file.streams/fstreams/ofstream.assign/nonmember_swap.pass.cpp +++ b/test/std/input.output/file.streams/fstreams/ofstream.assign/nonmember_swap.pass.cpp @@ -16,13 +16,33 @@ // void swap(basic_ofstream<charT, traits>& x, basic_ofstream<charT, traits>& y); #include <fstream> +#include <utility> #include <cassert> #include "platform_support.h" +std::pair<std::string, std::string> get_temp_file_names() { + std::pair<std::string, std::string> names; + names.first = get_temp_file_name(); + + // Create the file so the next call to `get_temp_file_name()` doesn't + // return the same file. + std::FILE *fd1 = std::fopen(names.first.c_str(), "w"); + + names.second = get_temp_file_name(); + assert(names.first != names.second); + + std::fclose(fd1); + std::remove(names.first.c_str()); + + return names; +} + int main() { - std::string temp1 = get_temp_file_name(); - std::string temp2 = get_temp_file_name(); + std::pair<std::string, std::string> temp_files = get_temp_file_names(); + std::string& temp1 = temp_files.first; + std::string& temp2 = temp_files.second; + assert(temp1 != temp2); { std::ofstream fs1(temp1.c_str()); std::ofstream fs2(temp2.c_str()); |
