mutable
A Database System for Research and Fast Prototyping
Loading...
Searching...
No Matches
Public Member Functions | Private Member Functions | Friends
m::storage::DataLayoutFactory Struct Referenceabstract

This is an interface for factories that compute particular DataLayouts for a given sequence of Types, e.g. More...

#include <DataLayoutFactory.hpp>

Inheritance diagram for m::storage::DataLayoutFactory:
[legend]

Public Member Functions

virtual ~DataLayoutFactory ()
 
virtual std::unique_ptr< DataLayoutFactoryclone () const =0
 Creates and returns a deep copy of this.
 
DataLayout make (const Schema &schema, std::size_t num_tuples=0) const
 Returns a DataLayout for the given Types contained in schema and length num_tuples.
 
template<typename It >
DataLayout make (It begin, It end, std::size_t num_tuples=0) const
 Returns a DataLayout for the given Types in the range from begin to end and length num_tuples.
 
virtual DataLayout make (std::vector< const Type * > types, std::size_t num_tuples=0) const =0
 Returns a DataLayout for the given types and length num_tuples (0 means infinite layout).
 
void dump (std::ostream &out) const
 
void dump () const
 

Private Member Functions

virtual void print (std::ostream &out) const =0
 

Friends

M_EXPORT std::ostream & operator<< (std::ostream &out, const DataLayoutFactory &factory)
 

Detailed Description

This is an interface for factories that compute particular DataLayouts for a given sequence of Types, e.g.

row layout or PAX.

Definition at line 16 of file DataLayoutFactory.hpp.

Constructor & Destructor Documentation

◆ ~DataLayoutFactory()

virtual m::storage::DataLayoutFactory::~DataLayoutFactory ( )
inlinevirtual

Definition at line 18 of file DataLayoutFactory.hpp.

Member Function Documentation

◆ clone()

virtual std::unique_ptr< DataLayoutFactory > m::storage::DataLayoutFactory::clone ( ) const
pure virtual

Creates and returns a deep copy of this.

Implemented in m::storage::RowLayoutFactory, and m::storage::PAXLayoutFactory.

Referenced by write_result_set().

◆ dump() [1/2]

void DataLayoutFactory::dump ( ) const

Definition at line 19 of file DataLayoutFactory.cpp.

References dump().

Referenced by dump().

◆ dump() [2/2]

void DataLayoutFactory::dump ( std::ostream &  out) const

Definition at line 18 of file DataLayoutFactory.cpp.

◆ make() [1/3]

DataLayout m::storage::DataLayoutFactory::make ( const Schema schema,
std::size_t  num_tuples = 0 
) const
inline

Returns a DataLayout for the given Types contained in schema and length num_tuples.

Definition at line 24 of file DataLayoutFactory.hpp.

References m::Schema::cbegin(), m::Schema::cend(), and make().

Referenced by m::ConcreteTable::layout(), and make().

◆ make() [2/3]

template<typename It >
DataLayout m::storage::DataLayoutFactory::make ( It  begin,
It  end,
std::size_t  num_tuples = 0 
) const
inline

Returns a DataLayout for the given Types in the range from begin to end and length num_tuples.

Definition at line 31 of file DataLayoutFactory.hpp.

References make().

◆ make() [3/3]

virtual DataLayout m::storage::DataLayoutFactory::make ( std::vector< const Type * >  types,
std::size_t  num_tuples = 0 
) const
pure virtual

Returns a DataLayout for the given types and length num_tuples (0 means infinite layout).

Implemented in m::storage::RowLayoutFactory, m::storage::PAXLayoutFactory, m::storage::RowLayoutFactory, and m::storage::PAXLayoutFactory.

◆ print()

virtual void m::storage::DataLayoutFactory::print ( std::ostream &  out) const
privatepure virtual

Friends And Related Function Documentation

◆ operator<<

M_EXPORT std::ostream & operator<< ( std::ostream &  out,
const DataLayoutFactory factory 
)
friend

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