33#if !defined (_MSC_VER) || _MSC_VER > 1300
34# define _RWSTD_NO_REDUNDANT_DEFINITIONS
42#define _RWSTD_NO_TEMPLATE_DEFINITIONS
50#ifndef _RWSTD_NO_NAMESPACE
67#ifndef _RWSTD_NO_WCHAR_T
75#ifndef _RWSTD_NO_COMPLEX_DEFAULT_TEMPLATES
141#ifndef _RWSTD_NO_WCHAR_T
170 rw_info (0, 0, __LINE__,
"27.4.4 Class template basic_ios");
173 std::streamoff
off = 0;
176 std::streamsize
size = 0;
182 std::ios_base *iob = 0;
186 std::basic_ios<char, std::char_traits<char> > *bios_2 = 0;
187 std::basic_ios<
char > *bios_1 = bios_2;
192#ifndef _RWSTD_NO_WCHAR_T
195 std::basic_ios<wchar_t, std::char_traits<wchar_t> > *wbios_2 = 0;
196 std::basic_ios<
wchar_t > *wbios_1 = wbios_2;
203#define TEST_MANIP(name) { \
204 std::ios_base& (*pf)(std::ios_base&) = &name; \
205 _RWSTD_UNUSED (pf); \
233template <
class charT>
237 rw_info (0, 0, __LINE__,
"27.4.4.1 basic_ios<%s> constructors", cname);
240 std::basic_ios<charT, std::char_traits<charT> > io0 (0);
242 rw_assert (0 == io0.rdbuf (), __FILE__, __LINE__,
243 "basic_ios<%s>::rdbuf () == 0", cname);
245 rw_assert (0 == io0.tie (), __FILE__, __LINE__,
246 "basic_ios<%s>::tie () == 0", cname);
248 rw_assert (io0.badbit == io0.rdstate (), __FILE__, __LINE__,
249 "basic_ios<%s>::rdstate () == %{If}, got %{If}",
250 cname, io0.badbit, io0.flags ());
252 rw_assert ((io0.skipws | io0.dec) == io0.flags (),
254 "basic_ios<%s>::flags () == %{If}, got %{If}",
255 cname, io0.skipws | io0.dec, io0.flags ());
257 rw_assert (0 == io0.width (), __FILE__, __LINE__,
258 "basic_ios<%s>::width () == 0, got %l",
259 cname, io0.width ());
261 rw_assert (6 == io0.precision (), __FILE__, __LINE__,
262 "basic_ios<%s>::precision () == 6, got %l",
263 cname, io0.precision ());
265 rw_assert (io0.widen (
' ') == io0.fill (), __FILE__, __LINE__,
266 "basic_ios<%s>::fill ()", cname);
272static int opt_no_basic_ios_ctors = 0;
279 if (opt_no_basic_ios_ctors) {
280 rw_note (0, 0, 0,
"basic_ios<T> ctors disabled");
292 return rw_test (argc, argv, __FILE__,
293 "lib.iostream.basic_ios",
296 "|-no-basic_ios-ctors# ",
297 &opt_no_basic_ios_ctors);
void run_test(const ForwardIterator &dummy, T *, Predicate *pred)
std::basic_filebuf< S > S_basic_filebuf
std::wifstream X_wifstream
std::basic_stringbuf< S > S_basic_stringbuf
std::basic_istream< S > S_basic_istream
std::wiostream X_wiostream
std::ostringstream X_ostringstream
std::wstringbuf X_wstringbuf
std::basic_ostream< S > S_basic_ostream
std::char_traits< S > Traits
std::wstreambuf X_wstreambuf
std::stringbuf X_stringbuf
std::streambuf X_streambuf
std::ostreambuf_iterator< S > S_ostreambuf_iterator
std::istringstream X_istringstream
std::streampos X_streampos
std::wstringstream X_wstringstream
std::wstreampos X_wstreampos
std::basic_stringstream< S > S_basic_stringstream
std::istreambuf_iterator< S > S_istreambuf_iterator
std::char_traits< char > char_Traits
std::basic_fstream< S > S_basic_fstream
std::basic_streambuf< S > S_basic_streambuf
std::stringstream X_stringstream
std::wofstream X_wofstream
std::basic_ios< S > S_basic_ios
std::wostringstream X_wostringstream
std::basic_iostream< S > S_basic_iostream
std::char_traits< wchar_t > wchar_t_Traits
std::allocator< S > Alloc
std::basic_ifstream< S > S_basic_ifstream
std::basic_istringstream< S > S_basic_istringstream
std::basic_ostringstream< S > S_basic_ostringstream
std::basic_ofstream< S > S_basic_ofstream
std::wistringstream X_wistringstream
#define _RWSTD_UNUSED(arg)
_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_note(int, const char *, int, const char *,...)
_TEST_EXPORT int rw_assert(int, const char *, int, const char *,...)