VR-Forces 5.0.3 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Static Public Member Functions | Private Member Functions
DtThreadsafeOutputStream Class Reference

Writing to multiple output streams at a time can cause threading issues - specifically, a problem was found with sending multiple messages simultaneously during preprocess. This class prevents that by requiring a lock on write.

Inheritance diagram for DtThreadsafeOutputStream:
Inheritance graph
[legend]

Public Member Functions

 DtThreadsafeOutputStream (DtOutputStreamBuffer *b, int &globalThresholdRef, int threshold=1, DtPrinter *dflt_printer=0, const std::string &prefix="")
 
virtual void write (const std::string &str)
 
- Public Member Functions inherited from DtTranslatableOutputStream
 DtTranslatableOutputStream (DtOutputStreamBuffer *b, int &globalThresholdRef, int threshold=1, DtPrinter *default_printer=0, const std::string &prefix="")
 
virtual ~DtTranslatableOutputStream ()
 
virtual void operator() (const char *s,...)
 
DtOutputStreamBuffer * buffer ()
 
- Public Member Functions inherited from DtChannelSpecificOutputStream
 DtChannelSpecificOutputStream (DtOutputStreamBuffer *b, int &globalThresholdRef, int threshold=1, DtPrinter *default_printer=0, const std::string &prefix="")
 
virtual ~DtChannelSpecificOutputStream ()
 
virtual void setPrefix (const DtString &str)
 
DtOutputStreamBuffer * getBuffer ()
 

Static Public Member Functions

static
DtChannelSpecificOutputStream
creator (DtOutputStreamBuffer *b, int &globalThresholdRef, int threshold=1, DtPrinter *dflt_printer=0, const std::string &prefix="")
 
- Static Public Member Functions inherited from DtTranslatableOutputStream
static
DtChannelSpecificOutputStream
creator (DtOutputStreamBuffer *b, int &globalThresholdRef, int threshold=1, DtPrinter *default_printer=0, const std::string &prefix="")
 
- Static Public Member Functions inherited from DtChannelSpecificOutputStream
static
DtChannelSpecificOutputStream
creator (DtOutputStreamBuffer *b, int &globalThresholdRef, int threshold=1, DtPrinter *default_printer=0, const std::string &prefix="")
 

Private Member Functions

 DtThreadsafeOutputStream (const DtOutputStream &)
 
DtThreadsafeOutputStreamoperator= (const DtOutputStream &)
 

Additional Inherited Members

- Protected Attributes inherited from DtChannelSpecificOutputStream
std::string myPrefix
 
DtOutputStreamBuffer * myBuffer
 

Constructor & Destructor Documentation

DtThreadsafeOutputStream::DtThreadsafeOutputStream ( DtOutputStreamBuffer *  b,
int globalThresholdRef,
int  threshold = 1,
DtPrinter dflt_printer = 0,
const std::string &  prefix = "" 
)
DtThreadsafeOutputStream::DtThreadsafeOutputStream ( const DtOutputStream &  )
private

Copy constructor not implemented.

Member Function Documentation

static DtChannelSpecificOutputStream* DtThreadsafeOutputStream::creator ( DtOutputStreamBuffer *  b,
int globalThresholdRef,
int  threshold = 1,
DtPrinter dflt_printer = 0,
const std::string &  prefix = "" 
)
static
virtual void DtThreadsafeOutputStream::write ( const std::string &  str)
virtual

Reimplemented from DtChannelSpecificOutputStream.

DtThreadsafeOutputStream& DtThreadsafeOutputStream::operator= ( const DtOutputStream &  )
private

Assignment Operator not implemented.


The documentation for this class was generated from the following file:

Document ID: Generated on Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)