According to the C++11 standard the xsputn might call an overload function which must be provided for correct operation and is required by gcc-12.1 but not earlier releases. See https://cplusplus.com/reference/streambuf/streambuf/xsputn/ Its default behavior in streambuf is to retrieve n characters, as if calling sputc for each, stopping if any call would return EOF. Except it is unspecified whether member overflow is called or whether other means are used in case of overflows. https://cplusplus.com/reference/streambuf/streambuf/overflow/ int overflow (int c = EOF); Put character on overflow Virtual function called by other member functions to put a character into the controlled output sequence without changing the current position. It is called by public member functions such as sputc to write a character when there are no writing positions available at the put pointer (pptr). Its default behavior in streambuf is to always return EOF (indicating failure), but derived classes can override this behavior to attempt to write the character directly and/or to alter pptr and other internal pointers so that more storage is provided, potentially writing unwritten characters to the controlled output sequence. Both filebuf and stringbuf override this virtual member function. Parameters c Character to be put. If this is the end-of-file value (EOF), no character is put, but the other effects of calling this function are attempted. Return Value In case of success, the character put is returned, converted to a value of type int_type using member traits_type::to_int_type. Otherwise, it returns the end-of-file value (EOF) either if called with this value as argument c or to signal a failure (some implementations may throw an exception instead). Resolves bug-report https://bugs.openfoam.org/view.php?id=3856
README for OpenFOAM-dev
- About OpenFOAM
- Copyright
- Download and installation instructions
- Documentation
- Source code documentation
- OpenFOAM C++ Style Guide
- Reporting bugs in OpenFOAM
- Contacting the OpenFOAM Foundation
#
About OpenFOAM
OpenFOAM is a free, open source computational fluid dynamics (CFD) software package released by the OpenFOAM Foundation. It has a large user base across most areas of engineering and science, from both commercial and academic organisations. OpenFOAM has an extensive range of features to solve anything from complex fluid flows involving chemical reactions, turbulence and heat transfer, to solid dynamics and electromagnetics.
Copyright
OpenFOAM is free software: you can redistribute it and/or modify it under the
terms of the GNU General Public License as published by the Free Software
Foundation, either version 3 of the License, or (at your option) any later
version. See the file COPYING in this directory or
http://www.gnu.org/licenses/, for a description of the GNU General Public
License terms under which you can copy the files.