rasdaman client API  10.6.3
The Array Analytics Engine: Datacubes at Your Fingertips
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
r_Dir_Decompose Class Reference

The r_Dir_Decompose class is used to specify a decomposition on an n-dimensional cube (for use in r_Dir_Tiling). More...

#include <dirdecompose.hh>

Public Member Functions

 r_Dir_Decompose ()=default
 
 ~r_Dir_Decompose ()=default
 
 r_Dir_Decompose (const r_Dir_Decompose &)=default
 
r_Dir_Decomposeoperator<< (r_Range limit)
 Reads a new limit for the current dimension. More...
 
r_Dir_Decomposeprepend (r_Range limit)
 Reads a new limit for the current dimension and prepends it to the list of limits. More...
 
size_t get_num_intervals () const
 Gets the number of intervals the dimension is to be split into. More...
 
r_Range get_partition (size_t number) const
 Gets a restriction. More...
 
void print_status (std::ostream &os) const
 Prints the current status of the object. More...
 

Protected Member Functions

r_Sinterval get_total_interval ()
 

Protected Attributes

std::vector< r_Rangeintervals
 The buffer that holds the information. More...
 

Detailed Description

The r_Dir_Decompose class is used to specify a decomposition on an n-dimensional cube (for use in r_Dir_Tiling).

For instance, to specify a tiling restriction on a dimension with the form: [0, 2, 4, 5], the following code would apply:

r_Dir_Decompose decomp;

decomp << 0 << 2 << 4 << 5;

Note that the first and the last elements input into the object must be the origin and limit of that dimension or else a cross-section of the domain will occur (as if the elements outside the specification wouldn't mind).

If one dimension is considered to be a prefered access direction, then the r_Dir_Decompose should be empty, this is, no restriction should be entered.

Constructor & Destructor Documentation

◆ r_Dir_Decompose() [1/2]

r_Dir_Decompose::r_Dir_Decompose ( )
default

◆ ~r_Dir_Decompose()

r_Dir_Decompose::~r_Dir_Decompose ( )
default

◆ r_Dir_Decompose() [2/2]

r_Dir_Decompose::r_Dir_Decompose ( const r_Dir_Decompose )
default

Member Function Documentation

◆ get_num_intervals()

size_t r_Dir_Decompose::get_num_intervals ( ) const

Gets the number of intervals the dimension is to be split into.

◆ get_partition()

r_Range r_Dir_Decompose::get_partition ( size_t  number) const

Gets a restriction.

◆ get_total_interval()

r_Sinterval r_Dir_Decompose::get_total_interval ( )
protected

◆ operator<<()

r_Dir_Decompose& r_Dir_Decompose::operator<< ( r_Range  limit)

Reads a new limit for the current dimension.

◆ prepend()

r_Dir_Decompose& r_Dir_Decompose::prepend ( r_Range  limit)

Reads a new limit for the current dimension and prepends it to the list of limits.

◆ print_status()

void r_Dir_Decompose::print_status ( std::ostream &  os) const

Prints the current status of the object.

Member Data Documentation

◆ intervals

std::vector<r_Range> r_Dir_Decompose::intervals
protected

The buffer that holds the information.


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