31 #if defined(ImageCachePolicies_RECURSES)
32 #error Recursive header files inclusion detected in ImageCachePolicies.h
35 #define ImageCachePolicies_RECURSES
37 #if !defined ImageCachePolicies_h
39 #define ImageCachePolicies_h
44 #include "DGtal/base/Common.h"
45 #include "DGtal/base/ConceptUtils.h"
46 #include "DGtal/images/CImage.h"
47 #include "DGtal/images/CImageFactory.h"
48 #include "DGtal/base/Alias.h"
50 #include "DGtal/images/ImageCache.h"
76 template <
typename TImageContainer,
typename TImageFactory>
181 template <
typename TImageContainer,
typename TImageFactory>
285 template <
typename TImageContainer,
typename TImageFactory>
361 template <
typename TImageContainer,
typename TImageFactory>
425 #include "DGtal/images/ImageCachePolicies.ih"
432 #undef ImageCachePolicies_RECURSES
Aim: This class encapsulates its parameter class so that to indicate to the user that the object/poin...
Aim: implements a 'FIFO' read policy cache.
ImageFactory * myImageFactory
Alias on the image factory.
unsigned int myFIFOSizeMax
Size max of the FIFO.
ImageContainer * getPage(const Point &aPoint)
TImageContainer ImageContainer
void updateCache(const Domain &aDomain)
~ImageCacheReadPolicyFIFO()
std::deque< ImageContainer * > myFIFOCacheImages
Alias on the images cache.
TImageContainer::Point Point
ImageCacheReadPolicyFIFO(const ImageCacheReadPolicyFIFO &other)
ImageContainer * getPage(const Domain &aDomain)
ImageCacheReadPolicyFIFO(Alias< ImageFactory > anImageFactory, int aFIFOSizeMax=10)
ImageContainer * getPageToDetach()
BOOST_CONCEPT_ASSERT((concepts::CImageFactory< TImageFactory >))
TImageContainer::Domain Domain
ImageCacheReadPolicyFIFO & operator=(const ImageCacheReadPolicyFIFO &other)
TImageFactory ImageFactory
BOOST_CONCEPT_ASSERT((concepts::CImage< TImageContainer >))
Checking concepts.
TImageContainer::Value Value
Aim: implements a 'LAST' read policy cache.
ImageContainer * getPage(const Domain &aDomain)
ImageContainer * getPage(const Point &aPoint)
ImageCacheReadPolicyLAST(const ImageCacheReadPolicyLAST &other)
ImageCacheReadPolicyLAST & operator=(const ImageCacheReadPolicyLAST &other)
ImageContainer * getPageToDetach()
TImageContainer::Point Point
ImageContainer * myCacheImagesPtr
Alias on the images cache.
ImageFactory * myImageFactory
Alias on the image factory.
BOOST_CONCEPT_ASSERT((concepts::CImage< TImageContainer >))
Checking concepts.
~ImageCacheReadPolicyLAST()
BOOST_CONCEPT_ASSERT((concepts::CImageFactory< TImageFactory >))
TImageContainer::Value Value
void updateCache(const Domain &aDomain)
TImageFactory ImageFactory
TImageContainer ImageContainer
ImageCacheReadPolicyLAST(Alias< ImageFactory > anImageFactory)
TImageContainer::Domain Domain
Aim: implements a 'WB (Write-back or Write-behind)' write policy cache.
~ImageCacheWritePolicyWB()
void flushPage(ImageContainer *anImageContainer)
ImageCacheWritePolicyWB & operator=(const ImageCacheWritePolicyWB &other)
ImageCacheWritePolicyWB(const ImageCacheWritePolicyWB &other)
BOOST_CONCEPT_ASSERT((concepts::CImageFactory< TImageFactory >))
TImageContainer::Value Value
TImageContainer::Domain Domain
ImageCacheWritePolicyWB(Alias< ImageFactory > anImageFactory)
TImageContainer::Point Point
BOOST_CONCEPT_ASSERT((concepts::CImage< TImageContainer >))
Checking concepts.
ImageFactory * myImageFactory
Alias on the image factory.
TImageFactory ImageFactory
void writeInPage(ImageContainer *anImageContainer, const Point &aPoint, const Value &aValue)
TImageContainer ImageContainer
Aim: implements a 'WT (Write-through)' write policy cache.
~ImageCacheWritePolicyWT()
ImageCacheWritePolicyWT(Alias< ImageFactory > anImageFactory)
BOOST_CONCEPT_ASSERT((concepts::CImage< TImageContainer >))
Checking concepts.
TImageContainer ImageContainer
TImageFactory ImageFactory
void flushPage(ImageContainer *anImageContainer)
TImageContainer::Point Point
void writeInPage(ImageContainer *anImageContainer, const Point &aPoint, const Value &aValue)
ImageCacheWritePolicyWT(const ImageCacheWritePolicyWT &other)
ImageFactory * myImageFactory
Alias on the image factory.
ImageCacheWritePolicyWT & operator=(const ImageCacheWritePolicyWT &other)
BOOST_CONCEPT_ASSERT((concepts::CImageFactory< TImageFactory >))
TImageContainer::Value Value
TImageContainer::Domain Domain
DGtal is the top-level namespace which contains all DGtal functions and types.
Aim: Defines the concept describing an image factory.
Aim: Defines the concept describing a read/write image, having an output iterator.
ImageContainerBySTLVector< HyperRectDomain< Z2i::Space >, std::unordered_set< Z2i::Point > > TImageContainer