102 std::unique_ptr<char[]>
copy_buffer(
const char *buf,
size_t len)
const;
Definition: tiling.hh:169
r_Tiling * clone() const override=0
This method provides the core funcionality of this class.
r_Dimension_Tiling(r_Dimension dim, r_Bytes ts=r_Tiling::defaultTileSize)
Constructor for this object (Takes dim (no of dimension) and tile size as parameter)
void print_status(std::ostream &os) const override
Prints the current status of the object.
r_Dimension get_dimension() const
r_Dimension dimension
dimension the mdd must have
Definition: tiling.hh:185
virtual ~r_Dimension_Tiling()=default
std::vector< r_Minterval > compute_tiles(const r_Minterval &obj_domain, r_Bytes cellTypeSize) const override=0
Decompose an object in tiles.
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 the dimension fits the obj_...
The spatial domain of an MDD is represented by an object of class r_Minterval.
Definition: minterval.hh:226
Definition: tiling.hh:110
void print_status(std::ostream &os) const override
Prints the current status of the object.
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.
static const char * description
Definition: tiling.hh:133
bool is_compatible(const r_Minterval &obj_domain, r_Bytes cellTypeSize) const override
Check compatibility of object domain with this tiling.
std::vector< r_Minterval > compute_tiles(const r_Minterval &obj_domain, r_Bytes cellTypeSize) const override
returns true
r_No_Tiling(const char *encoded)
Constructor that reads everything from a string e.g.
virtual ~r_No_Tiling()=default
r_Tiling * clone() const override
returns obj_domain
Definition: tiling.hh:140
std::vector< r_Minterval > compute_tiles(const r_Minterval &obj_domain, r_Bytes cellTypeSize) const override
Decompose an object in tiles.
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 ...
static const char * description
Definition: tiling.hh:158
void print_status(std::ostream &os) const override
Prints the current status of the object.
r_Size_Tiling(const char *encoded)
Constructor that reads everything from a string e.g."100".
r_Size_Tiling(r_Bytes ts=r_Tiling::defaultTileSize)
virtual ~r_Size_Tiling()=default
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.
r_Tiling * clone() const override
This method provides the core funcionality of this class.
r_Bytes tile_size
Tile size.
Definition: tiling.hh:162
r_Bytes get_tile_size() const
The r_Tiling class is used to specify in which way the tiling is done by the system.
Definition: tiling.hh:53
void check_premature_stream_end(const char *currPos, const char *endPos) const
void check_nonempty_tiling(const char *encoded) const
static const char * TCOLON
Definition: tiling.hh:87
unsigned int parse_unsigned(const char *encoded) const
static const int DefaultBase
Definition: tiling.hh:91
std::unique_ptr< char[]> copy_buffer(const char *buf, size_t len) const
static const char * TCOMMA
Definition: tiling.hh:88
virtual std::vector< r_Minterval > compute_tiles(const r_Minterval &obj_domain, r_Bytes cell_size) const =0
Decompose an object in tiles.
unsigned long parse_unsigned_long(const char *encoded) const
static const char * LSQRBRA
Definition: tiling.hh:89
virtual ~r_Tiling()=default
static const char * RSQRBRA
Definition: tiling.hh:90
static const r_Bytes defaultTileSize
Definition: tiling.hh:92
r_Minterval parse_minterval(const char *encoded) const
virtual r_Tiling_Scheme get_tiling_scheme() const =0
This method is similar to a copy constructor, this is, is returns a copy of the current object.
double parse_double(const char *encoded) const
virtual void print_status(std::ostream &os) const =0
Prints the current status of the object.
virtual r_Tiling * clone() const =0
This method provides the core funcionality of this class.
virtual bool is_compatible(const r_Minterval &obj_domain, r_Bytes cellTypeSize) const =0
Check compatibility of object domain with this tiling.
long parse_long(const char *encoded) const
const char * advance_to_next_char(const char *p, const char *search) const
static const char * ASTERIX
return the type of tiling scheme
Definition: tiling.hh:86
std::uint32_t r_Dimension
number of dimensions in r_Point and r_Minterval.
Definition: mddtypes.hh:56
size_t r_Bytes
number of bytes in an tile or mdd or type.
Definition: mddtypes.hh:43
r_Tiling_Scheme
Tiling of the object:
Definition: mddtypes.hh:317
std::ostream & operator<<(std::ostream &os, const r_Tiling &t)