libimgdoc2
Loading...
Searching...
No Matches
Public Member Functions | List of all members
imgdoc2::TileCoordinate Class Reference

Implementation of "tile coordinate object". More...

#include <TileCoordinate.h>

Inheritance diagram for imgdoc2::TileCoordinate:
imgdoc2::ITileCoordinateMutate imgdoc2::ITileCoordinate

Public Member Functions

 TileCoordinate ()
 Default constructor, this reserves size for 5 dimensions.
 
 TileCoordinate (size_t reservedCapacity)
 
 TileCoordinate (std::initializer_list< DimensionAndValue > list)
 
void Set (imgdoc2::Dimension d, int value) override
 
void Clear () override
 Clears this object to its blank/initial state. More...
 
bool TryGetCoordinate (imgdoc2::Dimension dim, int *coordVal) const override
 
void EnumCoordinates (const std::function< bool(imgdoc2::Dimension, int)> &f) const override
 
virtual void Clear ()=0
 Clears this object to its blank/initial state. More...
 
virtual void Set (imgdoc2::Dimension d, int value)=0
 
- Public Member Functions inherited from imgdoc2::ITileCoordinate
virtual bool TryGetCoordinate (imgdoc2::Dimension dim, int *coordVal) const =0
 
virtual void EnumCoordinates (const std::function< bool(imgdoc2::Dimension, int)> &f) const =0
 
void EnumDimensions (const std::function< bool(imgdoc2::Dimension)> &f) const
 
bool operator== (const ITileCoordinate &other) const
 
bool operator!= (const ITileCoordinate &other) const
 
std::vector< imgdoc2::Dimension > GetDimensions () const
 

Additional Inherited Members

- Static Public Member Functions inherited from imgdoc2::ITileCoordinate
static bool AreEqual (const ITileCoordinate *a, const ITileCoordinate *b)
 
static bool IsValidDimension (imgdoc2::Dimension dimension)
 

Detailed Description

Implementation of "tile coordinate object".

Constructor & Destructor Documentation

◆ TileCoordinate() [1/2]

imgdoc2::TileCoordinate::TileCoordinate ( size_t  reservedCapacity)
inlineexplicit

Constructor allowing to reserve size of the specified number of dimension. This is purely an opportunity for performance optimization, preventing a re-allocation should more dimensions be added than specified here.

Parameters
reservedCapacityThe reserved capacity for the number of dimensions.

◆ TileCoordinate() [2/2]

imgdoc2::TileCoordinate::TileCoordinate ( std::initializer_list< DimensionAndValue list)
inline

Constructor initializing the object with the specified list.

Parameters
listThe initialization list.

Member Function Documentation

◆ Clear()

void imgdoc2::TileCoordinate::Clear ( )
inlineoverridevirtual

Clears this object to its blank/initial state.

Implements imgdoc2::ITileCoordinateMutate.

◆ EnumCoordinates()

void imgdoc2::TileCoordinate::EnumCoordinates ( const std::function< bool(imgdoc2::Dimension, int)> &  f) const
inlineoverridevirtual

Enum the dimensions and the coordinates represented by this object.

Parameters
fA functor which is called for each item, passing in the dimension and the coordinate. If the functor returns false, the enumeration is ended.

Implements imgdoc2::ITileCoordinate.

◆ Set()

void imgdoc2::TileCoordinate::Set ( imgdoc2::Dimension  d,
int  value 
)
inlineoverridevirtual

Sets the specified coordinate value for the specified dimension.

Parameters
dThe dimension.
valueThe value.

Implements imgdoc2::ITileCoordinateMutate.

◆ TryGetCoordinate()

bool imgdoc2::TileCoordinate::TryGetCoordinate ( imgdoc2::Dimension  dim,
int *  coordVal 
) const
inlineoverridevirtual

Attempts to get the value for the specified dimensions.

Parameters
dimThe dimension to query.
[in,out]coordValIf non-null and the call is successful, the coordinate value is put here.
Returns
True if it succeeds, false if it fails.

Implements imgdoc2::ITileCoordinate.


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