souffle  2.0.2-371-g6315b36
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes
souffle::IOSystem Class Reference

#include <IOSystem.h>

Collaboration diagram for souffle::IOSystem:
Collaboration graph

Public Member Functions

Own< ReadStreamgetReader (const std::map< std::string, std::string > &rwOperation, SymbolTable &symbolTable, RecordTable &recordTable) const
 Return a new ReadStream. More...
 
Own< WriteStreamgetWriter (const std::map< std::string, std::string > &rwOperation, const SymbolTable &symbolTable, const RecordTable &recordTable) const
 Return a new WriteStream. More...
 
void registerReadStreamFactory (const std::shared_ptr< ReadStreamFactory > &factory)
 
void registerWriteStreamFactory (const std::shared_ptr< WriteStreamFactory > &factory)
 
 ~IOSystem ()=default
 

Static Public Member Functions

static IOSystemgetInstance ()
 

Private Member Functions

 IOSystem ()
 

Private Attributes

std::map< std::string, std::shared_ptr< ReadStreamFactory > > inputFactories
 
std::map< std::string, std::shared_ptr< WriteStreamFactory > > outputFactories
 

Detailed Description

Definition at line 43 of file IOSystem.h.

Constructor & Destructor Documentation

◆ ~IOSystem()

souffle::IOSystem::~IOSystem ( )
default

◆ IOSystem()

souffle::IOSystem::IOSystem ( )
inlineprivate

Definition at line 83 of file IOSystem.h.

Member Function Documentation

◆ getInstance()

static IOSystem& souffle::IOSystem::getInstance ( )
inlinestatic

Definition at line 45 of file IOSystem.h.

46  {
47  outputFactories[factory->getName()] = factory;
48  }

References outputFactories.

◆ getReader()

Own<ReadStream> souffle::IOSystem::getReader ( const std::map< std::string, std::string > &  rwOperation,
SymbolTable symbolTable,
RecordTable recordTable 
) const
inline

Return a new ReadStream.

Definition at line 72 of file IOSystem.h.

78  :
79  IOSystem() {

◆ getWriter()

Own<WriteStream> souffle::IOSystem::getWriter ( const std::map< std::string, std::string > &  rwOperation,
const SymbolTable symbolTable,
const RecordTable recordTable 
) const
inline

Return a new WriteStream.

Definition at line 61 of file IOSystem.h.

69  {

◆ registerReadStreamFactory()

void souffle::IOSystem::registerReadStreamFactory ( const std::shared_ptr< ReadStreamFactory > &  factory)
inline

Definition at line 54 of file IOSystem.h.

References outputFactories.

◆ registerWriteStreamFactory()

void souffle::IOSystem::registerWriteStreamFactory ( const std::shared_ptr< WriteStreamFactory > &  factory)
inline

Definition at line 50 of file IOSystem.h.

50  {
51  inputFactories[factory->getName()] = factory;
52  }

References inputFactories.

Field Documentation

◆ inputFactories

std::map<std::string, std::shared_ptr<ReadStreamFactory> > souffle::IOSystem::inputFactories
private

Definition at line 99 of file IOSystem.h.

Referenced by registerWriteStreamFactory().

◆ outputFactories

std::map<std::string, std::shared_ptr<WriteStreamFactory> > souffle::IOSystem::outputFactories
private

Definition at line 97 of file IOSystem.h.

Referenced by getInstance(), and registerReadStreamFactory().


The documentation for this class was generated from the following file:
souffle::IOSystem::inputFactories
std::map< std::string, std::shared_ptr< ReadStreamFactory > > inputFactories
Definition: IOSystem.h:99
souffle::IOSystem::outputFactories
std::map< std::string, std::shared_ptr< WriteStreamFactory > > outputFactories
Definition: IOSystem.h:97
souffle::IOSystem::IOSystem
IOSystem()
Definition: IOSystem.h:83