areaDetector  3-5-0
EPICS areaDetector framework
Macros | Functions | Variables
NDArrayPool.cpp File Reference
#include <stdlib.h>
#include <dbDefs.h>
#include <stdint.h>
#include <cantProceed.h>
#include <asynPortDriver.h>
#include <epicsExport.h>
#include "asynNDArrayDriver.h"
#include "NDArray.h"

Macros

#define THRESHOLD_SIZE_RATIO   1.5
 NDArrayPool.cpp. More...
 

Functions

 epicsExportAddress (int, eraseNDAttributes)
 
template<typename dataTypeIn , typename dataTypeOut >
void convertType (NDArray *pIn, NDArray *pOut)
 
template<typename dataTypeOut >
int convertTypeSwitch (NDArray *pIn, NDArray *pOut)
 
template<typename dataTypeIn , typename dataTypeOut >
void convertDim (NDArray *pIn, NDArray *pOut, void *pDataIn, void *pDataOut, int dim)
 
template<typename dataTypeOut >
int convertDimensionSwitch (NDArray *pIn, NDArray *pOut, void *pDataIn, void *pDataOut, int dim)
 

Variables

volatile int eraseNDAttributes =0
 eraseNDAttributes is a global flag the controls whether NDArray::clearAttributes() is called each time a new array is allocated with NDArrayPool->alloc(). More...
 

Macro Definition Documentation

◆ THRESHOLD_SIZE_RATIO

#define THRESHOLD_SIZE_RATIO   1.5

NDArrayPool.cpp.

Mark Rivers University of Chicago October 18, 2013

Function Documentation

◆ convertDim()

template<typename dataTypeIn , typename dataTypeOut >
void convertDim ( NDArray pIn,
NDArray pOut,
void *  pDataIn,
void *  pDataOut,
int  dim 
)

◆ convertDimensionSwitch()

template<typename dataTypeOut >
int convertDimensionSwitch ( NDArray pIn,
NDArray pOut,
void *  pDataIn,
void *  pDataOut,
int  dim 
)

◆ convertType()

template<typename dataTypeIn , typename dataTypeOut >
void convertType ( NDArray pIn,
NDArray pOut 
)

◆ convertTypeSwitch()

template<typename dataTypeOut >
int convertTypeSwitch ( NDArray pIn,
NDArray pOut 
)

◆ epicsExportAddress()

epicsExportAddress ( int  ,
eraseNDAttributes   
)

Variable Documentation

◆ eraseNDAttributes

volatile int eraseNDAttributes =0

eraseNDAttributes is a global flag the controls whether NDArray::clearAttributes() is called each time a new array is allocated with NDArrayPool->alloc().

The default value is 0, meaning that clearAttributes() is not called. This mode is efficient because it saves lots of allocation/deallocation, and it is fine when the attributes for a driver are set once and not changed. If driver attributes are deleted however, the allocated arrays will still have the old attributes if this flag is 0. Set this flag to force attributes to be removed each time an NDArray is allocated.