Tôi đang cố gắng tuân theo logic của this question để tạo một tùy chỉnh streambuf
trong Rcpp
. Có người đóng góp các hành vi cơ bản cho phép chúng tôi viết những thứ nhưTriển khai thực hiện tùy chỉnh
Rcout << "some text" ;
nơi chúng tôi thực hiện xsputn
và overflow
để chuyển hướng đến Rprintf
chức năng.
std::streamsize Rcpp::Rstreambuf::xsputn(const char *s, std::streamsize num) {
Rprintf("%.*s", num, s);
return num;
}
int Rcpp::Rstreambuf::overflow(int c) {
if (c != EOF) {
Rprintf("%.1s", &c);
}
return c;
}
Tôi muốn thực hiện xả nước quá, ví dụ: hỗ trợ cú pháp sau:
Rcout << "some text" << std::flush ;
Những phương pháp làm tôi cần phải thực hiện để các flush
thao túng hoạt động trên dòng tùy chỉnh của tôi?
Cảm ơn. Thực hiện trong sửa đổi svn 3935 của 'Rcpp' –