32#if !defined(_RWSTD_NO_EXT_CXX_0X) \
33 && !defined(_RWSTD_NO_RVALUE_REFERENCES)
47 rw_info (0, __FILE__, __LINE__,
"make_tuple");
49 std::tuple<int> it1 = std::make_tuple (1);
52 std::tuple<int, int> it2 = std::make_tuple (1,
i);
55 std::tuple<int, int, int> it3 = std::make_tuple (1,
i,
j);
57 std::tuple<int&> rt1 = std::make_tuple (std::ref (
i));
59 std::tuple<const int&> rt2 = std::make_tuple (std::cref (
i));
69 rw_info (0, __FILE__, __LINE__,
"tie");
71 int i = 0;
double d = 0.0;
const char*
s = 0;
72 std::tie (
i, std::ignore,
s)
73 = std::make_tuple (256, 3.14159,
"string");
76 "i == 256, got false, expected true");
78 "d == 0.0, got false, expected true");
79 rw_assert (0 == std::strcmp (
s,
"string"), __FILE__, __LINE__,
80 "s == \"string\", got false, expected true");
88 rw_info (0, __FILE__, __LINE__,
"tuple_cat");
90#define FirstHalf bool, char, int, double
91#define SecondHalf void*, UserDefined
93 typedef std::tuple<FirstHalf> FirstTuple;
94 FirstTuple
t1 (
true,
'a', 256, 3.14159);
96 typedef std::tuple<SecondHalf> SecondTuple;
99 typedef std::tuple<FirstHalf, SecondHalf> WholeTuple;
123#if defined (_RWSTD_NO_EXT_CXX_0X)
126 "test disabled because _RWSTD_NO_EXT_CXX_0X is defined");
128#elif defined (_RWSTD_NO_RVALUE_REFERENCES)
131 "test disabled because _RWSTD_NO_RVALUE_REFERENCES is "
144 return rw_test (argc, argv, __FILE__,
146 "20.3.1.3 Tuple creation functions",
std::reference_wrapper< int > IntRefWrap
void run_test(const ForwardIterator &dummy, T *, Predicate *pred)
#define _RWSTD_UNUSED(arg)
#define _RWSTD_STATIC_CAST(T, x)
_TEST_EXPORT int rw_test(int argc, char *argv[], const char *filename, const char *clause, const char *comment, int(*testfun)(int, char **), const char *optspec,...)
_TEST_EXPORT int rw_info(int, const char *, int, const char *,...)
_TEST_EXPORT int rw_assert(int, const char *, int, const char *,...)
_TEST_EXPORT int rw_warn(int, const char *, int, const char *,...)