mutable
A Database System for Research and Fast Prototyping
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Attributes | Private Member Functions | Private Attributes
m::storage::PAXLayoutFactory Struct Reference

#include <DataLayoutFactory.hpp>

Inheritance diagram for m::storage::PAXLayoutFactory:
[legend]
Collaboration diagram for m::storage::PAXLayoutFactory:
[legend]

Public Types

enum  block_size_t { NTuples , NBytes }
 

Public Member Functions

 PAXLayoutFactory (block_size_t option=NBytes)
 
 PAXLayoutFactory (block_size_t option, uint64_t num)
 
std::unique_ptr< DataLayoutFactoryclone () const override
 Creates and returns a deep copy of this.
 
DataLayout make (std::vector< const Type * > types, std::size_t num_tuples=0) const override
 Returns a DataLayout for the given types and length num_tuples (0 means infinite layout).
 
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
 

Static Public Attributes

static constexpr uint64_t DEFAULT_NUM_TUPLES = 16
 
static constexpr uint64_t DEFAULT_NUM_BYTES = 1UL << 12
 4 KiB
 

Private Member Functions

void print (std::ostream &out) const override
 

Private Attributes

block_size_t option_
 
union {
   uint64_t   num_tuples_
 
   uint64_t   num_bytes_
 
}; 
 

Detailed Description

Definition at line 58 of file DataLayoutFactory.hpp.

Member Enumeration Documentation

◆ block_size_t

Enumerator
NTuples 
NBytes 

Definition at line 63 of file DataLayoutFactory.hpp.

Constructor & Destructor Documentation

◆ PAXLayoutFactory() [1/2]

m::storage::PAXLayoutFactory::PAXLayoutFactory ( block_size_t  option = NBytes)
inline

◆ PAXLayoutFactory() [2/2]

m::storage::PAXLayoutFactory::PAXLayoutFactory ( block_size_t  option,
uint64_t  num 
)
inline

Definition at line 81 of file DataLayoutFactory.hpp.

References M_insist, NTuples, num_bytes_, num_tuples_, and option_.

Member Function Documentation

◆ clone()

std::unique_ptr< DataLayoutFactory > m::storage::PAXLayoutFactory::clone ( ) const
inlineoverridevirtual

Creates and returns a deep copy of this.

Implements m::storage::DataLayoutFactory.

Definition at line 91 of file DataLayoutFactory.hpp.

References NTuples, num_bytes_, num_tuples_, and option_.

◆ dump() [1/2]

void DataLayoutFactory::dump ( ) const
inherited

◆ dump() [2/2]

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

Definition at line 18 of file DataLayoutFactory.cpp.

◆ make() [1/4]

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.

◆ make() [2/4]

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.

◆ make() [3/4]

DataLayout PAXLayoutFactory::make ( std::vector< const Type * >  types,
std::size_t  num_tuples = 0 
) const
overridevirtual

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

Implements m::storage::DataLayoutFactory.

Definition at line 133 of file DataLayoutFactory.cpp.

References m::storage::DataLayout::add_inode(), m::storage::DataLayout::INode::add_leaf(), m::and, compute_attribute_order(), m::Type::Get_Bitmap(), M_insist, NTuples, num_bytes_, num_tuples_, and option_.

◆ make() [4/4]

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

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

Implements m::storage::DataLayoutFactory.

◆ print()

void m::storage::PAXLayoutFactory::print ( std::ostream &  out) const
inlineoverrideprivatevirtual

Implements m::storage::DataLayoutFactory.

Definition at line 99 of file DataLayoutFactory.hpp.

References NTuples, num_bytes_, num_tuples_, and option_.

Field Documentation

◆ 

union { ... } m::storage::PAXLayoutFactory::@2

◆ DEFAULT_NUM_BYTES

constexpr uint64_t m::storage::PAXLayoutFactory::DEFAULT_NUM_BYTES = 1UL << 12
staticconstexpr

4 KiB

Definition at line 61 of file DataLayoutFactory.hpp.

Referenced by PAXLayoutFactory().

◆ DEFAULT_NUM_TUPLES

constexpr uint64_t m::storage::PAXLayoutFactory::DEFAULT_NUM_TUPLES = 16
staticconstexpr

Definition at line 60 of file DataLayoutFactory.hpp.

Referenced by PAXLayoutFactory().

◆ num_bytes_

uint64_t m::storage::PAXLayoutFactory::num_bytes_

Definition at line 69 of file DataLayoutFactory.hpp.

Referenced by clone(), make(), PAXLayoutFactory(), and print().

◆ num_tuples_

uint64_t m::storage::PAXLayoutFactory::num_tuples_

Definition at line 68 of file DataLayoutFactory.hpp.

Referenced by clone(), make(), PAXLayoutFactory(), and print().

◆ option_

block_size_t m::storage::PAXLayoutFactory::option_
private

Definition at line 66 of file DataLayoutFactory.hpp.

Referenced by clone(), make(), PAXLayoutFactory(), and print().


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