mutable
A Database System for Research and Fast Prototyping
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Protected Attributes
m::TableFactoryDecorator Struct Referenceabstract

Abstract Decorator class that concrete TableFactoryDecorator inherit from. More...

#include <TableFactory.hpp>

Inheritance diagram for m::TableFactoryDecorator:
[legend]
Collaboration diagram for m::TableFactoryDecorator:
[legend]

Public Member Functions

 TableFactoryDecorator (std::unique_ptr< TableFactory > table_factory)
 
std::unique_ptr< Tablemake (ThreadSafePooledString name) const override
 Returns a Table with the given name.
 

Protected Member Functions

virtual std::unique_ptr< Tabledecorate (std::unique_ptr< Table > table) const =0
 

Protected Attributes

std::unique_ptr< TableFactorytable_factory_
 

Detailed Description

Abstract Decorator class that concrete TableFactoryDecorator inherit from.

Definition at line 30 of file TableFactory.hpp.

Constructor & Destructor Documentation

◆ TableFactoryDecorator()

m::TableFactoryDecorator::TableFactoryDecorator ( std::unique_ptr< TableFactory table_factory)
inline

Definition at line 36 of file TableFactory.hpp.

Member Function Documentation

◆ decorate()

virtual std::unique_ptr< Table > m::TableFactoryDecorator::decorate ( std::unique_ptr< Table table) const
protectedpure virtual

Implemented in m::ConcreteTableFactoryDecorator< T >.

Referenced by make().

◆ make()

std::unique_ptr< Table > m::TableFactoryDecorator::make ( ThreadSafePooledString  name) const
inlineoverridevirtual

Returns a Table with the given name.

Recursively calls all internal TableFactorys to construct and decorate the table.

Implements m::TableFactory.

Definition at line 40 of file TableFactory.hpp.

References decorate(), and table_factory_.

Field Documentation

◆ table_factory_

std::unique_ptr<TableFactory> m::TableFactoryDecorator::table_factory_
protected

Definition at line 33 of file TableFactory.hpp.

Referenced by make().


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