Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • libcfa/src/iostream.cfa

    r6c5d92f r85d8153  
    1010// Created On       : Wed May 27 17:56:53 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Tue Apr 20 19:09:41 2021
    13 // Update Count     : 1325
     12// Last Modified On : Sat Apr 24 10:03:54 2021
     13// Update Count     : 1329
    1414//
    1515
     
    3636
    3737
    38 forall( ostype & | ostream( ostype ) ) {
     38forall( ostype & | basic_ostream( ostype ) ) {
    3939        ostype & ?|?( ostype & os, bool b ) {
    4040                if ( sepPrt$( os ) ) fmt( os, "%s", sepGetCur$( os ) );
     
    294294
    295295                // last character IS spacing or opening punctuation => turn off separator for next item
    296                 size_t len = strlen( s );
     296                int len = strlen( s );
    297297                ch = s[len - 1];                                                                // must make unsigned
     298                fmt( os, "%s", s );                                                             // fmt resets seperator, but reset it again
    298299                if ( sepPrt$( os ) && mask[ ch ] != Open && mask[ ch ] != OpenClose ) {
    299300                        sepOn( os );
     
    302303                } // if
    303304                if ( ch == '\n' ) setNL$( os, true );                   // check *AFTER* sepPrt$ call above as it resets NL flag
    304                 return write( os, s, len );
     305                return os;
     306//              return write( os, s, len );
    305307        } // ?|?
    306308        void ?|?( ostype & os, const char s[] ) {
     
    397399                return os;
    398400        } // nlOff
    399 
     401} // distribution
     402
     403forall( ostype & | ostream( ostype ) ) {
    400404        ostype & acquire( ostype & os ) {
    401405                acquire( os );                                                                  // call void returning
     
    445449// Default prefix for non-decimal prints is 0b, 0, 0x.
    446450#define IntegralFMTImpl( T, IFMTNP, IFMTP ) \
    447 forall( ostype & | ostream( ostype ) ) { \
     451forall( ostype & | basic_ostream( ostype ) ) { \
    448452        ostype & ?|?( ostype & os, _Ostream_Manip(T) f ) { \
    449453                if ( sepPrt$( os ) ) fmt( os, "%s", sepGetCur$( os ) ); \
     
    539543#if defined( __SIZEOF_INT128__ )
    540544// Default prefix for non-decimal prints is 0b, 0, 0x.
    541 forall( ostype & | ostream( ostype ) )
     545forall( ostype & | basic_ostream( ostype ) )
    542546static inline void base_128( ostype & os, unsigned int128 val, unsigned int128 power, _Ostream_Manip(uint64_t) & f, unsigned int maxdig, unsigned int bits, unsigned int cnt = 0 ) {
    543547        int wd = 1;                                                                                     // f.wd is never 0 because 0 implies left-pad
     
    604608
    605609#define IntegralFMTImpl128( T ) \
    606 forall( ostype & | ostream( ostype ) ) { \
     610forall( ostype & | basic_ostream( ostype ) ) { \
    607611        ostype & ?|?( ostype & os, _Ostream_Manip(T) f ) { \
    608612                _Ostream_Manip(uint64_t) fmt; \
     
    677681
    678682#define FloatingPointFMTImpl( T, DFMTNP, DFMTP ) \
    679 forall( ostype & | ostream( ostype ) ) { \
     683forall( ostype & | basic_ostream( ostype ) ) { \
    680684        static void eng( T &value, int & pc, int & exp10 ) { \
    681685                exp10 = lrint( floor( log10( abs( value ) ) ) ); /* round to desired precision */ \
     
    723727// *********************************** character ***********************************
    724728
    725 forall( ostype & | ostream( ostype ) ) {
     729forall( ostype & | basic_ostream( ostype ) ) {
    726730        ostype & ?|?( ostype & os, _Ostream_Manip(char) f ) {
    727731                if ( f.base != 'c' ) {                                                  // bespoke binary/octal/hex format
     
    756760// *********************************** C string ***********************************
    757761
    758 forall( ostype & | ostream( ostype ) ) {
     762forall( ostype & | basic_ostream( ostype ) ) {
    759763        ostype & ?|?( ostype & os, _Ostream_Manip(const char *) f ) {
    760764                if ( ! f.val ) return os;                                               // null pointer ?
Note: See TracChangeset for help on using the changeset viewer.