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"
76template <
typename TImageContainer,
typename TImageFactory>
181template <
typename TImageContainer,
typename TImageFactory>
285template <
typename TImageContainer,
typename TImageFactory>
361template <
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.
ImageContainer * getPageToDetach()
unsigned int myFIFOSizeMax
Size max of the FIFO.
TImageContainer ImageContainer
void updateCache(const Domain &aDomain)
~ImageCacheReadPolicyFIFO()
std::deque< ImageContainer * > myFIFOCacheImages
Alias on the images cache.
TImageContainer::Point Point
ImageCacheReadPolicyFIFO(const ImageCacheReadPolicyFIFO &other)
ImageCacheReadPolicyFIFO & operator=(const ImageCacheReadPolicyFIFO &other)
ImageCacheReadPolicyFIFO(Alias< ImageFactory > anImageFactory, int aFIFOSizeMax=10)
ImageContainer * getPage(const Domain &aDomain)
BOOST_CONCEPT_ASSERT((concepts::CImageFactory< TImageFactory >))
TImageContainer::Domain Domain
ImageContainer * getPage(const Point &aPoint)
TImageFactory ImageFactory
BOOST_CONCEPT_ASSERT((concepts::CImage< TImageContainer >))
Checking concepts.
TImageContainer::Value Value
Aim: implements a 'LAST' read policy cache.
ImageCacheReadPolicyLAST & operator=(const ImageCacheReadPolicyLAST &other)
ImageContainer * getPage(const Domain &aDomain)
ImageCacheReadPolicyLAST(const ImageCacheReadPolicyLAST &other)
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
ImageContainer * getPage(const Point &aPoint)
TImageContainer ImageContainer
ImageContainer * getPageToDetach()
ImageCacheReadPolicyLAST(Alias< ImageFactory > anImageFactory)
TImageContainer::Domain Domain
Aim: implements a 'WB (Write-back or Write-behind)' write policy cache.
ImageCacheWritePolicyWB & operator=(const ImageCacheWritePolicyWB &other)
~ImageCacheWritePolicyWB()
void flushPage(ImageContainer *anImageContainer)
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)
ImageCacheWritePolicyWT & operator=(const ImageCacheWritePolicyWT &other)
ImageFactory * myImageFactory
Alias on the image factory.
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