From 0b69165d4c681e645b6b44dec29cefeaae6849d9 Mon Sep 17 00:00:00 2001 From: Karen Arutyunov Date: Tue, 19 May 2020 21:19:58 +0300 Subject: Add test for optional class template --- tests/optional/buildfile | 6 ++++++ tests/optional/driver.cxx | 54 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 60 insertions(+) create mode 100644 tests/optional/buildfile create mode 100644 tests/optional/driver.cxx diff --git a/tests/optional/buildfile b/tests/optional/buildfile new file mode 100644 index 0000000..68188d7 --- /dev/null +++ b/tests/optional/buildfile @@ -0,0 +1,6 @@ +# file : tests/optional/buildfile +# license : MIT; see accompanying LICENSE file + +import libs = libbutl%lib{butl} + +exe{driver}: {hxx cxx}{*} $libs diff --git a/tests/optional/driver.cxx b/tests/optional/driver.cxx new file mode 100644 index 0000000..5dd8964 --- /dev/null +++ b/tests/optional/driver.cxx @@ -0,0 +1,54 @@ +// file : tests/optional/driver.cxx -*- C++ -*- +// license : MIT; see accompanying LICENSE file + +#include + +#ifndef __cpp_lib_modules_ts +#include +#include // move() +#endif + +// Other includes. + +#ifdef __cpp_modules_ts +#ifdef __cpp_lib_modules_ts +import std.core; +#endif +import butl.optional; +#else +#include +#endif + +using namespace std; +using namespace butl; + +struct redirect +{ + redirect () = default; + + redirect (redirect&&) = default; + redirect& operator= (redirect&&) = default; + + redirect (const redirect&) = delete; + redirect& operator= (const redirect&) = delete; +}; + +struct command +{ + butl::optional err; +}; + +int +main () +{ + /*( + command c; + vector cs; + cs.emplace_back (move (c)); +// cs.push_back (move (c)); +*/ + + redirect r; + vector rs; + rs.emplace_back (move (r)); +} -- cgit v1.1