test01_impl<char>({'a', 'b', 'c'}) &&
test01_impl<int>({1, 2, 3, 4}) &&
test01_impl<double>({1.0, 2.0, 3.0, 4.0}) &&
+#if _GLIBCXX_USE_CXX11_ABI
test01_impl<std::string>({"a", "b", "cc", "dddd", "eeeeeeeeeeeeeeee"}) &&
+#endif
test01_impl<std::vector<int>>({ {0}, {0, 1}, {0, 1, 2}});
}
test01_impl<char>() &&
test01_impl<int>() &&
test01_impl<double>() &&
+#if _GLIBCXX_USE_CXX11_ABI
test01_impl<std::string>() &&
+#endif
test01_impl<std::vector<int>>() &&
test01_impl<std::unique_ptr<int>>();
}
test01_impl<int>(0) &&
test01_impl<int>(42) &&
test01_impl<double>(3.14) &&
+#if _GLIBCXX_USE_CXX11_ABI
test01_impl<std::string>() &&
test01_impl<std::string>(std::string("test")) &&
+#endif
test01_impl<std::vector<int>>() &&
test01_impl<std::vector<int>>({1, 2, 3, 4}) &&
test01_impl<std::unique_ptr<int>>(nullptr);
test01_impl<char>({'a', 'b', 'c'}) &&
test01_impl<int>({1, 2, 3, 4}) &&
test01_impl<double>({1.0, 2.0, 3.0, 4.0}) &&
+#if _GLIBCXX_USE_CXX11_ABI
test01_impl<std::string>({"a", "b", "cc", "dddd", "eeeeeeeeeeeeeeee"}) &&
+#endif
test01_impl<std::vector<int>>({ {0}, {0, 1}, {0, 1, 2}}) &&
test01_impl<std::unique_ptr<int>>(std::vector<std::unique_ptr<int>>(10));
}
test01_impl<char>() &&
test01_impl<int>() &&
test01_impl<double>() &&
+#if _GLIBCXX_USE_CXX11_ABI
test01_impl<std::string>() &&
+#endif
test01_impl<std::vector<int>>() &&
test01_impl<std::unique_ptr<int>>();
}