#include "mlInitSystemML.h"
#include "mlCarrierTypes.h"
#include "mlTypeTraits.h"
Go to the source code of this file.
Functions | |
| template<typename OUTDTYPE , typename INDTYPE > | |
| MLTypePushDoubleInfo | MLTTypeInfosPushAndSetBoth (const OUTDTYPE *outPtr, MLDataType outDT, const INDTYPE *inPtr, MLDataType inDT) |
| With this macro we solve a minor problem. | |
Test for MLCarrier* typed pointers: Return 0 (=false) for MLCarrierIn* and for built-in types, otherwise return 1(=true). | |
Disable all C++ specific things for this C file because it it must fulfil C-API requirements, i.e., it must not use c++.
The template stuff does not make sense in C anyway. | |
| template<typename T > | |
| MLint32 | MLIsCarrierTypePtr (const T *) |
Test for MLCarrierIn* typed pointers: Return 0 (=false) for MLCarrier* and for built-in types, otherwise return 1(=true). | |
| template<typename T > | |
| MLint32 | MLIsCarrierInTypePtr (const T *) |
Test for MLCarrier* and MLCarrierIn* typed pointers: Return 0 (=false) for built-in types, otherwise return 1(=true). | |
| template<typename T > | |
| MLint32 | MLIsAnyCarrierTypePtr (const T *) |
Test for standard (built-in) typed pointers: Return 1 (=true) for standard types and otherwise return 0(=false). | |
| template<typename T > | |
| MLint32 | MLIsStandardTypePtr (const T *) |
Test for signed typed pointers: Return 1 (=true) for signed types and otherwise return 0(=false). For registered types the correct type must have been set with a MLTypeInfosPushAndSet* function. | |
| template<typename T > | |
| MLint32 | MLIsSignedTypePtr (const T *) |
Return the MLDataType for the currently used template data type pointer. For registered types the correct type must have been set with a MLTypeInfosPushAndSet* function. | |
| template<typename T > | |
| MLDataType | MLGetDataTypeFromPtr (const T *) |
Return the size in bytes of the physically compiled type for the currently used template data type pointer. | |
| template<typename T > | |
| size_t | MLGetPhysicalDataTypeSizeFromPtr (const T *) |
Test for standard (built-in) integer typed pointers from 8 to 32 bits: Return 1 (=true) for those types and otherwise (also for integer typed registered types) return 0(=false). | |
| template<typename T > | |
| MLint32 | MLIs8_16_Or_32BitIntegerTypePtr (const T *) |
Test for built-in 8 bit signed or unsigned integer typed pointers: Return 1 (=true) for those types and otherwise return 0(=false). | |
| template<typename T > | |
| MLint32 | MLIs8BitIntegerTypePtr (const T *) |
Test for built-in 16 bit signed or unsigned integer typed pointers: Return 1 (=true) for those types and otherwise return 0(=false). | |
| template<typename T > | |
| MLint32 | MLIs16BitIntegerTypePtr (const T *) |
Test for built-in 32 bit signed or unsigned integer typed pointers: Return 1 (=true) for those types and otherwise return 0(=false). | |
| template<typename T > | |
| MLint32 | MLIs32BitIntegerTypePtr (const T *) |
Test for built-in 64 bit signed or unsigned typed pointers: Return 1 (=true) for those types and otherwise return 0(=false). | |
| template<typename T > | |
| MLint32 | MLIs64BitIntegerTypePtr (const T *) |
Test for built-in integer typed pointers: Return 1 (=true) for those types and otherwise return 0(=false). | |
| template<typename T > | |
| MLint32 | MLIsBuiltInIntegerTypePtr (const T *) |
Test for built-in floating point typed pointers: Return 1 (=true) for those types and otherwise return 0(=false). | |
| template<typename T > | |
| MLint32 | MLIsBuiltInFloatingPointTypePtr (const T *) |
Test for built-in long double typed pointers: Return 1 (=true) for those types and otherwise return 0(=false). | |
| template<typename T > | |
| MLint32 | MLIsLDoubleTypePtr (const T *) |
General comments to this file:
Definition in file mlTemplateSupport.h.
| MLDataType MLGetDataTypeFromPtr | ( | const T * | ) | [inline] |
Definition at line 72 of file mlTemplateSupport.h.
Referenced by ml::TSubImage< DATATYPE >::TSubImage().
| size_t MLGetPhysicalDataTypeSizeFromPtr | ( | const T * | ) | [inline] |
Definition at line 78 of file mlTemplateSupport.h.
| MLint32 MLIs16BitIntegerTypePtr | ( | const T * | ) | [inline] |
Definition at line 96 of file mlTemplateSupport.h.
| MLint32 MLIs32BitIntegerTypePtr | ( | const T * | ) | [inline] |
Definition at line 102 of file mlTemplateSupport.h.
| MLint32 MLIs64BitIntegerTypePtr | ( | const T * | ) | [inline] |
Definition at line 108 of file mlTemplateSupport.h.
| MLint32 MLIs8_16_Or_32BitIntegerTypePtr | ( | const T * | ) | [inline] |
Definition at line 84 of file mlTemplateSupport.h.
| MLint32 MLIs8BitIntegerTypePtr | ( | const T * | ) | [inline] |
Definition at line 90 of file mlTemplateSupport.h.
| MLint32 MLIsAnyCarrierTypePtr | ( | const T * | ) | [inline] |
Definition at line 53 of file mlTemplateSupport.h.
| MLint32 MLIsBuiltInFloatingPointTypePtr | ( | const T * | ) | [inline] |
Definition at line 120 of file mlTemplateSupport.h.
| MLint32 MLIsBuiltInIntegerTypePtr | ( | const T * | ) | [inline] |
Definition at line 114 of file mlTemplateSupport.h.
| MLint32 MLIsCarrierInTypePtr | ( | const T * | ) | [inline] |
Definition at line 47 of file mlTemplateSupport.h.
Referenced by ml::TSubImage< DATATYPE >::copySubImage(), and MLTTypeInfosPushAndSetBoth().
| MLint32 MLIsCarrierTypePtr | ( | const T * | ) | [inline] |
Definition at line 41 of file mlTemplateSupport.h.
Referenced by ml::TSubImage< DATATYPE >::copySubImage(), and MLTTypeInfosPushAndSetBoth().
| MLint32 MLIsLDoubleTypePtr | ( | const T * | ) | [inline] |
Definition at line 126 of file mlTemplateSupport.h.
Referenced by ml::TSubImage< DATATYPE >::copySubImage().
| MLint32 MLIsSignedTypePtr | ( | const T * | ) | [inline] |
Definition at line 66 of file mlTemplateSupport.h.
| MLint32 MLIsStandardTypePtr | ( | const T * | ) | [inline] |
Definition at line 59 of file mlTemplateSupport.h.
| MLTypePushDoubleInfo MLTTypeInfosPushAndSetBoth | ( | const OUTDTYPE * | outPtr, | |
| MLDataType | outDT, | |||
| const INDTYPE * | inPtr, | |||
| MLDataType | inDT | |||
| ) | [inline] |
With this macro we solve a minor problem.
If we work with two different carrier types (e.g., in TSubimg::copySubImage) then we always assume that one is an target/output carrier type and the second the source/input carrier type. Input carrier types address other type infos instances in the MLTypeInfosTable than output carrier types. So we have to decide which data type we need to set for the output and which for the input type. Since it also may happen that somebody copies output data into the and input buffer we have to exchange MLTypeInfos settings for output and input. We decide this by using implementing all indices pointing into the MLTypeInfosTable which indicates whether we have an input or an output carrier type. To select the right function version we need now only need to pass two dummy parameters of correct data types. They, however, can be NULL pointers casted to correct type.
Definition at line 149 of file mlTemplateSupport.h.
References _MLTypeError(), ML_TRACE_IN_TIME_CRITICAL, MLIsCarrierInTypePtr(), MLIsCarrierTypePtr(), and MLTypeInfosPushAndSetTypes().
Referenced by ml::TSubImage< DATATYPE >::copySubImage(), ml::TSubImage< DATATYPE >::copySubImageReorderColorPlanesToInterleaved(), and ml::TSubImage< DATATYPE >::fillBordersWithInputValues().
1.5.8