22#ifndef RCPP__IOSTREAM__RSTREAMBUF_H
23#define RCPP__IOSTREAM__RSTREAMBUF_H
30 template <
bool OUTPUT>
36 virtual std::streamsize
xsputn(
const char *s, std::streamsize n);
38 virtual int overflow(
int c = traits_type::eof());
43 template <
bool OUTPUT>
52 Rprintf(
"%.*s",
static_cast<int>(num), s);
56 REprintf(
"%.*s",
static_cast<int>(num), s);
61 if (c != traits_type::eof()) {
62 char_type ch = traits_type::to_char_type(c);
63 return xsputn(&ch, 1) == 1 ? c : traits_type::eof();
68 if (c != traits_type::eof()) {
69 char_type ch = traits_type::to_char_type(c);
70 return xsputn(&ch, 1) == 1 ? c : traits_type::eof();
84#ifdef RCPP_USE_GLOBAL_ROSTREAM
Rstreambuf< OUTPUT > Buffer
virtual int overflow(int c=traits_type::eof())
virtual std::streamsize xsputn(const char *s, std::streamsize n)
static Rostream< false > Rcerr
static Rostream< true > Rcout