26 #ifndef __TERRALIB_RASTER_INTERNAL_RASTEERSYNCHRONIZER_H 27 #define __TERRALIB_RASTER_INTERNAL_RASTEERSYNCHRONIZER_H 32 #include "../common/Enums.h" 35 #include <boost/noncopyable.hpp> 36 #include <boost/thread/mutex.hpp> 37 #include <boost/thread/condition_variable.hpp> 46 class SynchronizedBandBlocksManager;
47 class SynchronizedBand;
48 class SynchronizedRaster;
103 bool acquireBlock(
const unsigned int bandIdx,
104 const unsigned int blockXIndex,
const unsigned int blockYIndex,
116 bool releaseBlock(
const unsigned int bandIdx,
117 const unsigned int blockXIndex,
const unsigned int blockYIndex,
127 #endif //__TERRALIB_RASTER_INTERNAL_RASTEERSYNCHRONIZER_H An adapter class to allow concurrent access to raster data by multiple threads.
#define TERASTEREXPORT
You can use this macro in order to export/import classes and functions from this module.
An abstract class for raster data strucutures.
An access synchronizer to be used in SynchronizedRaster raster instances.
boost::mutex m_mutex
General sync mutex;.
Configuration flags for the Raster module of TerraLib.
boost::condition_variable_any m_condVar
Block use request sync variable.
AccessPolicy
Supported data access policies (can be used as bitfield).
Raster & m_raster
The input raster.
An abstract class for raster data strucutures.
Syncrhonized raster band.
std::vector< std::vector< std::vector< unsigned int > > > BlocksUseCounterT
Blocks use counter type definition.
Synchronized raster raster band blocks manager.
te::common::AccessPolicy m_policy
The access policy used on the given input raster.
BlocksUseCounterT m_blocksUseCounters
blocks use counter.