Bond 0.9
C++ Bond Runtime Library API Documentation
Loading...
Searching...
No Matches
Bond::StdioStreamFactory Class Reference

A concrete implementation of StreamFactory that creates instances of StdioInputStream and StdioOutputStream. More...

#include <bond/io/stdiostreamfactory.h>

Inheritance diagram for Bond::StdioStreamFactory:
Bond::StreamFactory

Public Member Functions

 StdioStreamFactory (Allocator &allocator, const char *rootPath=nullptr, StreamFactory *delegateFactory=nullptr, bool throwOnFailure=true)
 Constructs a StdioStreamFactory object.
virtual ~StdioStreamFactory ()
virtual InputStreamHandle CreateInputStream (const char *fileName) override
 Returns an owning pointer to a dynamically allocated InputStream.
virtual OutputStreamHandle CreateOutputStream (const char *fileName, bool append=false) override
 Returns an owning pointer to a dynamically allocated OutputStream.
void SetRootPath (const char *rootPath)
 Sets the root path prepended to file names when opening files.
void SetDelegateFactory (StreamFactory *delegateFactory)
 Sets the fallback StreamFactory used when this factory cannot provide a stream.
Public Member Functions inherited from Bond::StreamFactory
virtual ~StreamFactory ()

Detailed Description

A concrete implementation of StreamFactory that creates instances of StdioInputStream and StdioOutputStream.

Constructor & Destructor Documentation

◆ StdioStreamFactory()

Bond::StdioStreamFactory::StdioStreamFactory ( Allocator & allocator,
const char * rootPath = nullptr,
StreamFactory * delegateFactory = nullptr,
bool throwOnFailure = true )
inlineexplicit

Constructs a StdioStreamFactory object.

Parameters
allocatorThe memory allocator from which StdioInputStreams and StdioOutputStreams are allocated.
rootPathOptional root path that is prepended to each file name when opening files.
delegateFactoryIf this factory cannot provide an InputStream, this factory is used as a fallback.
throwOnFailureIf true, stream creation failures are reported by throwing an Exception. Otherwise, stream creation failures return a null handle.

◆ ~StdioStreamFactory()

virtual Bond::StdioStreamFactory::~StdioStreamFactory ( )
inlinevirtual

Member Function Documentation

◆ CreateInputStream()

virtual InputStreamHandle Bond::StdioStreamFactory::CreateInputStream ( const char * fileName)
overridevirtual

Returns an owning pointer to a dynamically allocated InputStream.

Parameters
fileNameThe name of the file for which an input stream is created.

Implements Bond::StreamFactory.

◆ CreateOutputStream()

virtual OutputStreamHandle Bond::StdioStreamFactory::CreateOutputStream ( const char * fileName,
bool append = false )
overridevirtual

Returns an owning pointer to a dynamically allocated OutputStream.

Parameters
fileNameThe name of the file for which an output stream is created.
appendWhether bytes are written to the end of an existing file.

Implements Bond::StreamFactory.

◆ SetDelegateFactory()

void Bond::StdioStreamFactory::SetDelegateFactory ( StreamFactory * delegateFactory)
inline

Sets the fallback StreamFactory used when this factory cannot provide a stream.

Parameters
delegateFactoryThe fallback StreamFactory.

◆ SetRootPath()

void Bond::StdioStreamFactory::SetRootPath ( const char * rootPath)
inline

Sets the root path prepended to file names when opening files.

Parameters
rootPathThe new root path, or null to use file names as given.

The documentation for this class was generated from the following file:
  • include/bond/io/stdiostreamfactory.h