42 return out <<
"len=" <<
len <<
"; cursor=" <<
cursor << std::endl;
49 newlen = std::max(
cursor + 2*newlen, 2*
len);
50 char *ptr =
new char[newlen];
77 memcpy(&
buf[cursor], str, slen);
89 dlen = snprintf(&
buf[cursor], buflen, fmt, d);
113 return out << buf.
buf;
122 buf.stats(std::cout) << std::endl;
124 buf.print_double(
"%e", 10.2);
126 std::cout <<
buf << std::endl;
127 buf.stats(std::cout) << std::endl;
130 buf.print_double(
"%e", 12345678.9);
132 std::cout <<
buf << std::endl;
133 buf.stats(std::cout) << std::endl;
136 buf.print_double(
"%e", 12345678.9);
138 std::cout <<
buf << std::endl;
139 buf.stats(std::cout) << std::endl;
142 buf.print_double(
"%e", 12345678.9);
144 std::cout <<
buf << std::endl;
145 buf.stats(std::cout) << std::endl;
void print_double(const char *fmt, double d)
void print_str(const char *str)
int main(int argc, char *argv[])
unsigned get_len(void) const
void make_room(unsigned newlen)
const char * get_buf(void) const
std::ostream & operator<<(std::ostream &out, const mbstrbuf &buf)
void return_cursor(unsigned newcursor=0)
static doublereal buf[BUFSIZE]
std::ostream & stats(std::ostream &out)