This repository has been archived on 2024-12-16. You can view files and clone it, but cannot push or open issues or pull requests.
CodeBlocksPortable/WATCOM/h/strstrea

216 lines
5.7 KiB
Plaintext

///////////////////////////////////////////////////////////////////////////
// FILE: strstrea/strstrea.h (strstream support)
//
// =========================================================================
//
// Open Watcom Project
//
// Copyright (c) 2002-2010 Open Watcom Contributors. All Rights Reserved.
// Portions Copyright (c) 1983-2002 Sybase, Inc. All Rights Reserved.
//
// This file is automatically generated. Do not edit directly.
//
// =========================================================================
//
// Description: This header is part of the C++ standard library. It
// defines the necessary classes for strstream support.
///////////////////////////////////////////////////////////////////////////
#ifndef _STRSTREA_INCLUDED
#define _STRSTREA_INCLUDED
#ifndef _ENABLE_AUTODEPEND
#pragma read_only_file;
#endif
#ifndef __cplusplus
#error This header file requires C++
#endif
#ifndef _COMDEF_H_INCLUDED
#include <_comdef.h>
#endif
#ifndef _IOSTREAM_INCLUDED
#include <iostream>
#endif
namespace std {
// **************************** STRSTREAMBUF *******************************
#ifdef _M_IX86
#pragma pack( __push, 1 )
#else
#pragma pack( __push, 8 )
#endif
class _WPRTLINK strstreambuf : public streambuf {
public:
strstreambuf();
strstreambuf( int __allocation_size );
strstreambuf( void *(*__alloc_fn)( long ), void (*__free_fn)( void * ) );
strstreambuf( char *__str, int __size, char *__pstart = NULL );
~strstreambuf();
int alloc_size_increment( int __increment );
void freeze( int __freeze = 1 );
char *str();
virtual int overflow( int = EOF );
virtual int underflow();
virtual streambuf *setbuf( char *__ignored, int __allocation_size );
virtual streampos seekoff( streamoff __offset,
ios::seekdir __direction,
ios::openmode __mode );
virtual int sync();
protected:
virtual int doallocate();
private:
void __strstreambuf( char *, int, char * );
void *(*__alloc_fn)( long );
void (*__free_fn)( void * );
int __allocation_size;
int __minbuf_size;
unsigned __frozen : 1;
unsigned __dynamic : 1;
unsigned __unlimited : 1;
};
#pragma pack( __pop )
inline strstreambuf::strstreambuf() {
__strstreambuf( NULL, 0, NULL );
}
inline strstreambuf::strstreambuf( char *__ptr,
int __size,
char *__pstart ) {
__strstreambuf( __ptr, __size, __pstart );
}
inline int strstreambuf::alloc_size_increment( int __increment ) {
__lock_it( __b_lock );
int __old_allocation_size = __allocation_size;
__allocation_size += __increment;
return( __old_allocation_size );
}
inline void strstreambuf::freeze( int __freeze ) {
__frozen = __freeze ? 1 : 0;
}
// **************************** STRSTREAMBASE ******************************
#ifdef _M_IX86
#pragma pack( __push, 1 )
#else
#pragma pack( __push, 8 )
#endif
class _WPRTLINK strstreambase : public virtual ios {
public:
strstreambuf *rdbuf() const;
protected:
strstreambase();
strstreambase( char *__str, int __size, char *__pstart = NULL );
~strstreambase();
private:
strstreambuf __strstrmbuf;
};
#pragma pack( __pop )
inline strstreambuf *strstreambase::rdbuf() const {
return( (strstreambuf *) ios::rdbuf() );
}
// ***************************** ISTRSTREAM ********************************
#ifdef _M_IX86
#pragma pack( __push, 1 )
#else
#pragma pack( __push, 8 )
#endif
class _WPRTLINK istrstream : public strstreambase, public istream {
public:
istrstream( char *__str );
istrstream( signed char *__str );
istrstream( unsigned char *__str );
istrstream( char *__str, int __size );
istrstream( signed char *__str, int __size );
istrstream( unsigned char *__str, int __size );
~istrstream();
};
#pragma pack( __pop )
// ***************************** OSTRSTREAM ********************************
#ifdef _M_IX86
#pragma pack( __push, 1 )
#else
#pragma pack( __push, 8 )
#endif
class _WPRTLINK ostrstream : public strstreambase, public ostream {
public:
ostrstream();
ostrstream( char *__str,
int __size,
ios::openmode __mode = ios::out );
ostrstream( signed char *__str,
int __size,
ios::openmode __mode = ios::out );
ostrstream( unsigned char *__str,
int __size,
ios::openmode __mode = ios::out );
~ostrstream();
int pcount() const;
char *str();
};
#pragma pack( __pop )
inline char *ostrstream::str() {
__lock_it( __i_lock );
return( rdbuf()->str() );
}
inline int ostrstream::pcount() const {
__lock_it( __i_lock );
return( rdbuf()->out_waiting() );
}
// ***************************** STRSTREAM *********************************
#ifdef _M_IX86
#pragma pack( __push, 1 )
#else
#pragma pack( __push, 8 )
#endif
class _WPRTLINK strstream : public strstreambase, public iostream {
public:
strstream();
strstream( char *__str,
int __size,
ios::openmode __mode = ios::in|ios::out );
strstream( signed char *__str,
int __size,
ios::openmode __mode = ios::in|ios::out );
strstream( unsigned char *__str,
int __size,
ios::openmode __mode = ios::in|ios::out );
~strstream();
char *str();
};
#pragma pack( __pop )
inline char *strstream::str() {
__lock_it( __i_lock );
return( rdbuf()->str() );
}
} // namespace std
#endif