Próbuję postępować zgodnie z logiką this question, aby utworzyć niestandardową streambuf
w Rcpp
. Ktoś przyczynił podstawowe zachowanie, które pozwala nam pisać takie rzeczy jakNiestandardowa implementacja spłukiwania
Rcout << "some text" ;
gdzie wdrożyliśmy xsputn
i overflow
przekierować do Rprintf
funkcji.
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;
}
chciałbym wdrożyć spłukiwania zbyt, to znaczy obsługuje tej składni:
Rcout << "some text" << std::flush ;
Która metoda muszę wdrożyć tak, że flush
manipulator działa na moim niestandardowym strumienia?
Dzięki. Wdrożono w wersji svn 3935 "Rcpp" –