#include <sstream>
#include <testsuite_hooks.h>
std::string str_01("mykonos. . . or what?");
std::string str_02("paris, or sainte-maxime?");
std::string str_03;
std::stringbuf strb_01(str_01);
std::stringbuf strb_02(str_02, std::ios_base::in);
std::stringbuf strb_03(str_03, std::ios_base::out);
void test04()
{
bool test __attribute__((unused)) = true;
std::string str_tmp;
std::stringbuf strb_tmp;
typedef std::stringbuf::int_type int_type;
typedef std::stringbuf::traits_type traits_type;
typedef std::stringbuf::pos_type pos_type;
typedef std::stringbuf::off_type off_type;
int_type c1 = strb_01.sbumpc();
int_type c2 = strb_02.sbumpc();
int_type c3 = strb_01.sbumpc();
pos_type pt_1(off_type(-1));
pos_type pt_2(off_type(0));
off_type off_1 = 0;
off_type off_2 = 0;
strb_03.str(str_01);
strb_01.str(str_01); strb_02.str(str_02); strb_03.str(str_03); pt_1 = strb_01.pubseekoff(2, std::ios_base::beg);
off_1 = off_type(pt_1);
VERIFY( off_1 >= 0 );
pt_1 = strb_01.pubseekoff(0, std::ios_base::cur, std::ios_base::out);
off_1 = off_type(pt_1);
c1 = strb_01.snextc(); VERIFY( c1 == 'o' );
c2 = strb_01.sputc('x'); str_tmp = std::string("myxonos. . . or what?");
VERIFY( strb_01.str() == str_tmp );
strb_01.pubsync(); pt_2 = strb_01.pubseekpos(pt_1, std::ios_base::in|std::ios_base::out);
off_2 = off_type(pt_2);
VERIFY( off_1 == off_2 );
c3 = strb_01.snextc(); VERIFY( c1 == c3 );
c2 = strb_01.sputc('x'); str_tmp = std::string("myxonos. . . or what?");
VERIFY( strb_01.str() == str_tmp );
}
int main()
{
test04();
return 0;
}