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

#include <tiling.hh>

Inheritance diagram for r_Size_Tiling:
r_Tiling r_Dimension_Tiling r_Aligned_Tiling r_Dir_Tiling r_Interest_Tiling r_Stat_Tiling

Public Member Functions

 r_Size_Tiling (const char *encoded)
 Constructor that reads everything from a string e.g."100". More...
 
 r_Size_Tiling (r_Bytes ts=r_Tiling::defaultTileSize)
 
virtual ~r_Size_Tiling ()=default
 
void print_status (std::ostream &os) const override
 Prints the current status of the object. More...
 
bool is_compatible (const r_Minterval &obj_domain, r_Bytes cellTypeSize) const override
 returns true if the cellTypeSize is smaller or equal to the tile size and obj_domain has more than 0 dimensions More...
 
std::vector< r_Mintervalcompute_tiles (const r_Minterval &obj_domain, r_Bytes cellTypeSize) const override
 Decompose an object in tiles. More...
 
r_Bytes get_tile_size () const
 
r_Tilingclone () const override
 This method provides the core funcionality of this class. More...
 
r_Tiling_Scheme get_tiling_scheme () const override
 This method is similar to a copy constructor, this is, is returns a copy of the current object. More...
 
- Public Member Functions inherited from r_Tiling
virtual ~r_Tiling ()=default
 

Static Public Attributes

static const char * description
 
- Static Public Attributes inherited from r_Tiling
static const char * ASTERIX
 return the type of tiling scheme More...
 
static const char * TCOLON
 
static const char * TCOMMA
 
static const char * LSQRBRA
 
static const char * RSQRBRA
 
static const int DefaultBase
 
static const r_Bytes defaultTileSize
 

Protected Attributes

r_Bytes tile_size {}
 Tile size. More...
 

Additional Inherited Members

- Protected Member Functions inherited from r_Tiling
void check_nonempty_tiling (const char *encoded) const
 
void check_premature_stream_end (const char *currPos, const char *endPos) const
 
r_Minterval parse_minterval (const char *encoded) const
 
unsigned int parse_unsigned (const char *encoded) const
 
unsigned long parse_unsigned_long (const char *encoded) const
 
long parse_long (const char *encoded) const
 
double parse_double (const char *encoded) const
 
std::unique_ptr< char[]> copy_buffer (const char *buf, size_t len) const
 
const char * advance_to_next_char (const char *p, const char *search) const
 

Constructor & Destructor Documentation

◆ r_Size_Tiling() [1/2]

r_Size_Tiling::r_Size_Tiling ( const char *  encoded)
explicit

Constructor that reads everything from a string e.g."100".

◆ r_Size_Tiling() [2/2]

r_Size_Tiling::r_Size_Tiling ( r_Bytes  ts = r_Tiling::defaultTileSize)

◆ ~r_Size_Tiling()

virtual r_Size_Tiling::~r_Size_Tiling ( )
virtualdefault

Member Function Documentation

◆ clone()

r_Tiling* r_Size_Tiling::clone ( ) const
overridevirtual

This method provides the core funcionality of this class.

All derived classes must implement it. As input parameters it takes the big object to be decomposed and returns a set of tiles that compose the big object. This method throws an exeception when the dimension specified, extend or the cell_size are incompatible with the current tiling. You can check compatibility by invoking is_compatible. Clones this object

Implements r_Tiling.

Reimplemented in r_Dimension_Tiling.

◆ compute_tiles()

std::vector<r_Minterval> r_Size_Tiling::compute_tiles ( const r_Minterval obj_domain,
r_Bytes  cell_size 
) const
overridevirtual

Decompose an object in tiles.

Implements r_Tiling.

Reimplemented in r_Dimension_Tiling.

◆ get_tile_size()

r_Bytes r_Size_Tiling::get_tile_size ( ) const

◆ get_tiling_scheme()

r_Tiling_Scheme r_Size_Tiling::get_tiling_scheme ( ) const
overridevirtual

This method is similar to a copy constructor, this is, is returns a copy of the current object.

Derived classes must explicitly implement this method.

Implements r_Tiling.

◆ is_compatible()

bool r_Size_Tiling::is_compatible ( const r_Minterval obj_domain,
r_Bytes  cellTypeSize 
) const
overridevirtual

returns true if the cellTypeSize is smaller or equal to the tile size and obj_domain has more than 0 dimensions

Implements r_Tiling.

Reimplemented in r_Dimension_Tiling.

◆ print_status()

void r_Size_Tiling::print_status ( std::ostream &  os) const
overridevirtual

Prints the current status of the object.

Implements r_Tiling.

Reimplemented in r_Dimension_Tiling.

Member Data Documentation

◆ description

const char* r_Size_Tiling::description
static

◆ tile_size

r_Bytes r_Size_Tiling::tile_size {}
protected

Tile size.


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