ML Reference
ml::MLTStdTypeInfos< VTYP > Class Template Reference

Template class to register the standard integer classes as voxel types in the ML. More...

#include <mlStdTypeInfos.h>

Inheritance diagram for ml::MLTStdTypeInfos< VTYP >:
MLTypeInfos

List of all members.

Public Member Functions

 MLTStdTypeInfos ()
 Constructor.
template<>
void MLTYPE_negate (const MLTypeData *p, MLTypeData *q)
template<>
void MLTYPE_negate (const MLTypeData *p, MLTypeData *q)
template<>
void MLTYPE_negate (const MLTypeData *p, MLTypeData *q)
template<>
void MLTYPE_negate (const MLTypeData *p, MLTypeData *q)

Static Public Member Functions

Returns specialized data type names.
static const char * typeName (MLint8 *)
static const char * typeName (MLuint8 *)
static const char * typeName (MLint16 *)
static const char * typeName (MLuint16 *)
static const char * typeName (MLint32 *)
static const char * typeName (MLuint32 *)
static const char * typeName (MLfloat *)
static const char * typeName (MLdouble *)
static const char * typeName (MLint64 *)
static const char * typeName (MLuint64 *)
Methods to be overloaded by derived classes if the corresponding flag is true.
static char * MLTYPE_getStringValue (const MLTypeData *p)
 Return value as string to be freed by MLFree(). Use MLTypeComponentsToString() if possible.
static void MLTYPE_setStringValue (const char *s, MLTypeData *r)
 Convert string s to value and write result into r. Use MLTypeComponentsFromString() if possible.
static void MLTYPE_setToMinimum (MLTypeData *p)
 Sets value to minimum value. Must be implemented.
static void MLTYPE_setToMaximum (MLTypeData *p)
 Sets value to minimum value. Must be implemented.
static void MLTYPE_setToDefault (MLTypeData *p)
 Sets value to default value. Must be implemented.
static MLdouble MLTYPE_getComponent (const MLTypeData *p, size_t)
 Gets n-th component as double value. Must be implemented.
static void MLTYPE_setComponent (MLTypeData *p, size_t, MLdouble v)
 Sets n-th component from double value. Must be implemented.
static void MLTYPE_copy (const MLTypeData *p, MLTypeData *q)
 Copy first parameter to second one.
static void MLTYPE_arrayCopy (const MLTypeData *p, MLTypeData *q, size_t n)
 Copy s elements from first parameter to second one.
static void MLTYPE_arrayCopyWithStrides (const MLTypeData *p, MLssize_t ps, MLTypeData *q, MLssize_t qs, size_t n)
 Same as above, but allows to specify stride values for source and destination.
static void MLTYPE_arrayFill (const MLTypeData *p, MLTypeData *q, size_t n)
 Copy first parameter to second one as often as given in the third parameter.
static bool MLTYPE_castToBool (const MLTypeData *p)
 Return parameter casted to bool. Typically false when it is identically to the default element, otherwise true.
static MLint MLTYPE_castToInt (const MLTypeData *p)
 Return parameter casted to integer. Often the integer cast of the first component.
static MLdouble MLTYPE_castToDouble (const MLTypeData *p)
 Return parameter casted to double. Often the integer cast of the first component.
static void MLTYPE_castToOtherType (const MLTypeData *myData, const MLTypeInfos *otherInfos, MLTypeData *otherData)
 Return parameter casted to double. Usually implemented by default with function casting component wise.
static void MLTYPE_castFromInt (MLint p, MLTypeData *q)
 Cast first parameters to data type and write it into second parameter.
static void MLTYPE_castFromDouble (MLdouble p, MLTypeData *q)
 Cast first parameters to data type and write it into second parameter.
static void MLTYPE_castFromOtherType (const MLTypeInfos *otherInfos, const MLTypeData *otherData, MLTypeData *myData)
 Cast first parameters to data type and write it into second parameter.
static bool MLTYPE_isEqualToType (const MLTypeData *p, const MLTypeData *q)
 Return true if both parameters are equal, otherwise false.
static bool MLTYPE_isEqualToTypeWithEpsilon (const MLTypeData *p, const MLTypeData *q, MLdouble eps)
 Returns true if both parameters are equal within a static epsilon, otherwise false.
static void MLTYPE_negate (const MLTypeData *p, MLTypeData *q)
 Negate the value. See also the specialized negations for unsigned types which leave value unchanged.
static void MLTYPE_normalize (const MLTypeData *, MLTypeData *q)
 Normalize type.
static void MLTYPE_arrayRescale (const MLTypeData *p, MLdouble q, const MLTypeData *r, MLTypeData *t, size_t s)
 Scale the values from the first parameter with the second parameter and offset it with the value from the third parameter, writing it to the position of the fourth parameter, times the fifth parameter.
static bool MLTYPE_arrayEqualsValue (const MLTypeData *p, const MLTypeData *q, size_t s)
 Check that the first argument equals all the values given with the second argument (and the size in the third argument), returns true if all values are equal.
static void MLTYPE_arrayGetMinMax (const MLTypeData *p, size_t s, MLdouble &min, MLdouble &max)
 Get the mininum and maximum component values from the array in the first argument, and return it in the third and fourth argument, the size of the array is in the second argument.
static void MLTYPE_interpolate (const MLTypeData *p, const MLTypeData *q, MLdouble r, MLTypeData *t)
 Interpolate linearly between the first and the second parameter, at the position given by the third parameter (between 0 and 1).
static void MLTYPE_multWithInt (const MLTypeData *p, MLint q, MLTypeData *r)
 Implement multiplication with integer. Result written into parameter three.
static void MLTYPE_multWithDouble (const MLTypeData *p, MLdouble q, MLTypeData *r)
 Implement multiplication with double. Result written into parameter three.
static void MLTYPE_multWithType (const MLTypeData *p, const MLTypeData *q, MLTypeData *r)
 Implement multiplication with its own type. Result written into parameter three.
static void MLTYPE_multWithOtherType (const MLTypeInfos *otherInfos, const MLTypeData *otherData, const MLTypeData *myData, MLTypeData *r)
 Implement multiplication with another type. Result written into parameter three.
static void MLTYPE_plusInt (const MLTypeData *p, MLint q, MLTypeData *r)
 Implement integer addition to parameter one. Result written into parameter three.
static void MLTYPE_plusDouble (const MLTypeData *p, MLdouble q, MLTypeData *r)
 Implement double addition to parameter one. Result written into parameter three.
static void MLTYPE_plusType (const MLTypeData *p, const MLTypeData *q, MLTypeData *r)
 Implement parameter two addition to parameter one. Result written into parameter three.

Protected Member Functions

template<>
MLfloat castToType (MLdouble v)
template<>
MLdouble castToType (MLdouble v)
Return types and number of them to which this type can be casted without information loss.
void _getGoodCastTos (MLint8, MLuint &num, const char **&typeNames)
void _getGoodCastTos (MLuint8, MLuint &num, const char **&typeNames)
void _getGoodCastTos (MLint16, MLuint &num, const char **&typeNames)
void _getGoodCastTos (MLuint16, MLuint &num, const char **&typeNames)
void _getGoodCastTos (MLint32, MLuint &num, const char **&typeNames)
void _getGoodCastTos (MLuint32, MLuint &num, const char **&typeNames)
void _getGoodCastTos (MLfloat, MLuint &num, const char **&typeNames)
void _getGoodCastTos (MLdouble, MLuint &num, const char **&typeNames)
void _getGoodCastTos (MLint64, MLuint &num, const char **&typeNames)
void _getGoodCastTos (MLuint64, MLuint &num, const char **&typeNames)

Static Protected Member Functions

static VTYP castToType (MLdouble v)
 implement method that rounds a double value when casting to integer, but doesn't round when casting to a float type (special cased below)

Static Protected Attributes

static const VTYP _typeMin
 Permanent instance of the minimum value.
static const VTYP _typeMax
 Permanent instance of the maximum value.
static const VTYP _typeDefault = VTYP(0)
 Permanent instance of the default value.
static const char _typeInfoString [_ML_STD_SLEN]
 Permanent instance of the type's description.
static MLTypeInfos_myInfos = NULL
 Permanent instance of a pointer to the typeInfos used by this class.
static MLint32 _numInstances = 0
 Number of instances of this class.

Return the correct equivalent for range and precision routines.

MLDataType _rangeAndPrecisionEquiv (MLint8)
MLDataType _rangeAndPrecisionEquiv (MLuint8)
MLDataType _rangeAndPrecisionEquiv (MLint16)
MLDataType _rangeAndPrecisionEquiv (MLuint16)
MLDataType _rangeAndPrecisionEquiv (MLint32)
MLDataType _rangeAndPrecisionEquiv (MLuint32)
MLDataType _rangeAndPrecisionEquiv (MLfloat)
MLDataType _rangeAndPrecisionEquiv (MLdouble)
MLDataType _rangeAndPrecisionEquiv (MLint64)
MLDataType _rangeAndPrecisionEquiv (MLuint64)
static VTYP & value_cast (MLTypeData *v)
static const VTYP & value_cast (const MLTypeData *v)

Detailed Description

template<typename VTYP>
class ml::MLTStdTypeInfos< VTYP >

Template class to register the standard integer classes as voxel types in the ML.

Definition at line 45 of file mlStdTypeInfos.h.


Constructor & Destructor Documentation

template<typename VTYP >
ml::MLTStdTypeInfos< VTYP >::MLTStdTypeInfos ( ) [inline]

Constructor.

In derived classes all members must be set correctly dependent on the properties of the described data type. The more properties are implemented the more module can support this data type. See MLTypeInfos.

Assign all pointers to the static functions implementing the operations.

Initialization of the main properties of MLTypeInfos. Returns 1(=true) on success, 0(=false) on failure. Initialize the data type information.

-Define sizeof of real data type (not the size of the carrying byte type)

-Define string name of data type.

-Set minimum and maximum double values. Notes: Try to select values which will not be exceeded when the new type is casted to double. Try to select values which are converted to the types's minimum/maximum after casting them to the new type. However, that's desirable but not really necessary.

-Set pointers to a permanent instances of the the data type minimum and maximum value. Notes: Try to select minimum and maximum value so that they match to minimum and maximum double value after casting them to double. However, that's desirable but not really necessary.

-Set pointer to a permanent instance of the the data type default value in derived class. Notes: This value will be used when initializing or completing incomplete type components e.g., after incomplete string scans or casts. This value will also be used as a 0-element. This value will be used as "false" on boolean casts in the default implementation. All other values will be considered as "true".

-Set pointer to a permanent null-terminated string describing the type configuration. It is needed for most default implementations of the type, e.g., correct big endian/little endian conversions when storing loading this data, for automatic casts to other type etc. It must exactly describe the type configuration. Use

  1. 'b' for a boolean.
  2. 'c' for an unsigned character.
  3. 'C' for a (signed) character.
  4. 's' for an unsigned short.
  5. 'S' for a signed short.
  6. 'i' for an unsigned int.
  7. 'I' for a signed int.
  8. 'l' for an unsigned long.
  9. 'L' for a signed long.
  10. '6' for a 64 bit signed integer.
  11. '9' for a 64 bit unsigned integer.
  12. 'f' for a float.
  13. 'd' for a double.
  14. 'D' for a long double.

So a data type consisting of a float[3], a bool, and two signed integers would lead to "fffbII".

-Pass true if it is a basic type, i.e., one of the following: (unsigned) char, (unsigned) short, (unsigned) int, (unsigned) long, float, double, long double or MLint64.

-Pass a standard data type which has comparable range and precision behavior.

-componentAddresses is an array of pointers to the components of an example data instance so that gaps between components can be evaluated. It must contain exactly as many pointers as the length of typeStructInfo.

Take a type instance and create an array of addresses to all of it is components.

Definition at line 278 of file mlStdTypeInfos.h.

References ML_CATCH_RETHROW, ML_CHECK_THROW, ML_PRINT_FATAL_ERROR, ML_PROGRAMMING_ERROR, ML_TRACE_IN, ML_TRY, ML_TYPE_ASSIGN_FUNCTION_POINTERS, MLScalarTypeGroup, and MLTypeInfosInit().


Member Function Documentation

template<typename VTYP >
void ml::MLTStdTypeInfos< VTYP >::_getGoodCastTos ( MLint8  ,
MLuint num,
const char **&  typeNames 
) [inline, protected]

Definition at line 102 of file mlStdTypeInfos.h.

References ML_CATCH_RETHROW, ML_TRACE_IN, and ML_TRY.

template<typename VTYP >
void ml::MLTStdTypeInfos< VTYP >::_getGoodCastTos ( MLint64  ,
MLuint num,
const char **&  typeNames 
) [inline, protected]

Definition at line 234 of file mlStdTypeInfos.h.

References ML_CATCH_RETHROW, ML_TRACE_IN, and ML_TRY.

template<typename VTYP >
void ml::MLTStdTypeInfos< VTYP >::_getGoodCastTos ( MLuint64  ,
MLuint num,
const char **&  typeNames 
) [inline, protected]

Definition at line 249 of file mlStdTypeInfos.h.

References ML_CATCH_RETHROW, ML_TRACE_IN, and ML_TRY.

template<typename VTYP >
void ml::MLTStdTypeInfos< VTYP >::_getGoodCastTos ( MLuint8  ,
MLuint num,
const char **&  typeNames 
) [inline, protected]

Definition at line 120 of file mlStdTypeInfos.h.

References ML_CATCH_RETHROW, ML_TRACE_IN, and ML_TRY.

template<typename VTYP >
void ml::MLTStdTypeInfos< VTYP >::_getGoodCastTos ( MLint16  ,
MLuint num,
const char **&  typeNames 
) [inline, protected]

Definition at line 141 of file mlStdTypeInfos.h.

References ML_CATCH_RETHROW, ML_TRACE_IN, and ML_TRY.

template<typename VTYP >
void ml::MLTStdTypeInfos< VTYP >::_getGoodCastTos ( MLuint16  ,
MLuint num,
const char **&  typeNames 
) [inline, protected]

Definition at line 158 of file mlStdTypeInfos.h.

References ML_CATCH_RETHROW, ML_TRACE_IN, and ML_TRY.

template<typename VTYP >
void ml::MLTStdTypeInfos< VTYP >::_getGoodCastTos ( MLint32  ,
MLuint num,
const char **&  typeNames 
) [inline, protected]

Definition at line 177 of file mlStdTypeInfos.h.

References ML_CATCH_RETHROW, ML_TRACE_IN, and ML_TRY.

template<typename VTYP >
void ml::MLTStdTypeInfos< VTYP >::_getGoodCastTos ( MLuint32  ,
MLuint num,
const char **&  typeNames 
) [inline, protected]

Definition at line 193 of file mlStdTypeInfos.h.

References ML_CATCH_RETHROW, ML_TRACE_IN, and ML_TRY.

template<typename VTYP >
void ml::MLTStdTypeInfos< VTYP >::_getGoodCastTos ( MLfloat  ,
MLuint num,
const char **&  typeNames 
) [inline, protected]

Definition at line 210 of file mlStdTypeInfos.h.

References ML_CATCH_RETHROW, ML_TRACE_IN, and ML_TRY.

template<typename VTYP >
void ml::MLTStdTypeInfos< VTYP >::_getGoodCastTos ( MLdouble  ,
MLuint num,
const char **&  typeNames 
) [inline, protected]

Definition at line 224 of file mlStdTypeInfos.h.

References ML_CATCH_RETHROW, ML_TRACE_IN, and ML_TRY.

template<typename VTYP >
MLDataType ml::MLTStdTypeInfos< VTYP >::_rangeAndPrecisionEquiv ( MLuint32  ) [inline, protected]

Definition at line 84 of file mlStdTypeInfos.h.

References MLuint32Type.

template<typename VTYP >
MLDataType ml::MLTStdTypeInfos< VTYP >::_rangeAndPrecisionEquiv ( MLfloat  ) [inline, protected]

Definition at line 85 of file mlStdTypeInfos.h.

References MLfloatType.

template<typename VTYP >
MLDataType ml::MLTStdTypeInfos< VTYP >::_rangeAndPrecisionEquiv ( MLdouble  ) [inline, protected]

Definition at line 86 of file mlStdTypeInfos.h.

References MLdoubleType.

template<typename VTYP >
MLDataType ml::MLTStdTypeInfos< VTYP >::_rangeAndPrecisionEquiv ( MLint64  ) [inline, protected]

Definition at line 87 of file mlStdTypeInfos.h.

References MLint64Type.

template<typename VTYP >
MLDataType ml::MLTStdTypeInfos< VTYP >::_rangeAndPrecisionEquiv ( MLuint64  ) [inline, protected]

Definition at line 88 of file mlStdTypeInfos.h.

References MLuint64Type.

template<typename VTYP >
MLDataType ml::MLTStdTypeInfos< VTYP >::_rangeAndPrecisionEquiv ( MLuint8  ) [inline, protected]

Definition at line 80 of file mlStdTypeInfos.h.

References MLuint8Type.

template<typename VTYP >
MLDataType ml::MLTStdTypeInfos< VTYP >::_rangeAndPrecisionEquiv ( MLint16  ) [inline, protected]

Definition at line 81 of file mlStdTypeInfos.h.

References MLint16Type.

template<typename VTYP >
MLDataType ml::MLTStdTypeInfos< VTYP >::_rangeAndPrecisionEquiv ( MLint8  ) [inline, protected]

Definition at line 79 of file mlStdTypeInfos.h.

References MLint8Type.

template<typename VTYP >
MLDataType ml::MLTStdTypeInfos< VTYP >::_rangeAndPrecisionEquiv ( MLuint16  ) [inline, protected]

Definition at line 82 of file mlStdTypeInfos.h.

References MLuint16Type.

template<typename VTYP >
MLDataType ml::MLTStdTypeInfos< VTYP >::_rangeAndPrecisionEquiv ( MLint32  ) [inline, protected]

Definition at line 83 of file mlStdTypeInfos.h.

References MLint32Type.

template<>
MLfloat ml::MLTStdTypeInfos< MLfloat >::castToType ( MLdouble  v) [inline, protected]

Definition at line 510 of file mlStdTypeInfos.h.

template<>
MLdouble ml::MLTStdTypeInfos< MLdouble >::castToType ( MLdouble  v) [inline, protected]

Definition at line 511 of file mlStdTypeInfos.h.

template<typename VTYP >
static VTYP ml::MLTStdTypeInfos< VTYP >::castToType ( MLdouble  v) [inline, static, protected]

implement method that rounds a double value when casting to integer, but doesn't round when casting to a float type (special cased below)

Definition at line 98 of file mlStdTypeInfos.h.

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_arrayCopy ( const MLTypeData p,
MLTypeData q,
size_t  n 
) [inline, static]

Copy s elements from first parameter to second one.

Definition at line 409 of file mlStdTypeInfos.h.

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_arrayCopyWithStrides ( const MLTypeData p,
MLssize_t  ps,
MLTypeData q,
MLssize_t  qs,
size_t  n 
) [inline, static]

Same as above, but allows to specify stride values for source and destination.

Definition at line 411 of file mlStdTypeInfos.h.

template<typename VTYP >
static bool ml::MLTStdTypeInfos< VTYP >::MLTYPE_arrayEqualsValue ( const MLTypeData p,
const MLTypeData q,
size_t  s 
) [inline, static]

Check that the first argument equals all the values given with the second argument (and the size in the third argument), returns true if all values are equal.

Definition at line 457 of file mlStdTypeInfos.h.

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_arrayFill ( const MLTypeData p,
MLTypeData q,
size_t  n 
) [inline, static]

Copy first parameter to second one as often as given in the third parameter.

Definition at line 413 of file mlStdTypeInfos.h.

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_arrayGetMinMax ( const MLTypeData p,
size_t  s,
MLdouble min,
MLdouble max 
) [inline, static]

Get the mininum and maximum component values from the array in the first argument, and return it in the third and fourth argument, the size of the array is in the second argument.

Definition at line 468 of file mlStdTypeInfos.h.

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_arrayRescale ( const MLTypeData p,
MLdouble  q,
const MLTypeData r,
MLTypeData t,
size_t  s 
) [inline, static]

Scale the values from the first parameter with the second parameter and offset it with the value from the third parameter, writing it to the position of the fourth parameter, times the fifth parameter.

Definition at line 446 of file mlStdTypeInfos.h.

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_castFromDouble ( MLdouble  p,
MLTypeData q 
) [inline, static]

Cast first parameters to data type and write it into second parameter.

Definition at line 427 of file mlStdTypeInfos.h.

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_castFromInt ( MLint  p,
MLTypeData q 
) [inline, static]

Cast first parameters to data type and write it into second parameter.

Definition at line 425 of file mlStdTypeInfos.h.

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_castFromOtherType ( const MLTypeInfos otherInfos,
const MLTypeData otherData,
MLTypeData myData 
) [inline, static]

Cast first parameters to data type and write it into second parameter.

Definition at line 429 of file mlStdTypeInfos.h.

References MLTypeCastToOtherType().

template<typename VTYP >
static bool ml::MLTStdTypeInfos< VTYP >::MLTYPE_castToBool ( const MLTypeData p) [inline, static]

Return parameter casted to bool. Typically false when it is identically to the default element, otherwise true.

Definition at line 416 of file mlStdTypeInfos.h.

References MLValuesDifferWOM().

template<typename VTYP >
static MLdouble ml::MLTStdTypeInfos< VTYP >::MLTYPE_castToDouble ( const MLTypeData p) [inline, static]

Return parameter casted to double. Often the integer cast of the first component.

Definition at line 420 of file mlStdTypeInfos.h.

template<typename VTYP >
static MLint ml::MLTStdTypeInfos< VTYP >::MLTYPE_castToInt ( const MLTypeData p) [inline, static]

Return parameter casted to integer. Often the integer cast of the first component.

Definition at line 418 of file mlStdTypeInfos.h.

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_castToOtherType ( const MLTypeData myData,
const MLTypeInfos otherInfos,
MLTypeData otherData 
) [inline, static]

Return parameter casted to double. Usually implemented by default with function casting component wise.

Definition at line 422 of file mlStdTypeInfos.h.

References MLTypeCastToOtherType().

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_copy ( const MLTypeData p,
MLTypeData q 
) [inline, static]

Copy first parameter to second one.

Definition at line 407 of file mlStdTypeInfos.h.

template<typename VTYP >
static MLdouble ml::MLTStdTypeInfos< VTYP >::MLTYPE_getComponent ( const MLTypeData p,
size_t   
) [inline, static]

Gets n-th component as double value. Must be implemented.

Definition at line 403 of file mlStdTypeInfos.h.

template<typename VTYP >
static char* ml::MLTStdTypeInfos< VTYP >::MLTYPE_getStringValue ( const MLTypeData p) [inline, static]

Return value as string to be freed by MLFree(). Use MLTypeComponentsToString() if possible.

Definition at line 392 of file mlStdTypeInfos.h.

References MLTypeComponentsToString().

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_interpolate ( const MLTypeData p,
const MLTypeData q,
MLdouble  r,
MLTypeData t 
) [inline, static]

Interpolate linearly between the first and the second parameter, at the position given by the third parameter (between 0 and 1).

Result written into parameter three.

Definition at line 486 of file mlStdTypeInfos.h.

template<typename VTYP >
static bool ml::MLTStdTypeInfos< VTYP >::MLTYPE_isEqualToType ( const MLTypeData p,
const MLTypeData q 
) [inline, static]

Return true if both parameters are equal, otherwise false.

Definition at line 433 of file mlStdTypeInfos.h.

References MLValuesAreEqualWOM().

template<typename VTYP >
static bool ml::MLTStdTypeInfos< VTYP >::MLTYPE_isEqualToTypeWithEpsilon ( const MLTypeData p,
const MLTypeData q,
MLdouble  eps 
) [inline, static]

Returns true if both parameters are equal within a static epsilon, otherwise false.

Definition at line 435 of file mlStdTypeInfos.h.

References MLAbs().

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_multWithDouble ( const MLTypeData p,
MLdouble  q,
MLTypeData r 
) [inline, static]

Implement multiplication with double. Result written into parameter three.

Definition at line 493 of file mlStdTypeInfos.h.

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_multWithInt ( const MLTypeData p,
MLint  q,
MLTypeData r 
) [inline, static]

Implement multiplication with integer. Result written into parameter three.

Definition at line 491 of file mlStdTypeInfos.h.

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_multWithOtherType ( const MLTypeInfos otherInfos,
const MLTypeData otherData,
const MLTypeData myData,
MLTypeData r 
) [inline, static]

Implement multiplication with another type. Result written into parameter three.

Definition at line 497 of file mlStdTypeInfos.h.

References MLTypeMultWithOtherType().

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_multWithType ( const MLTypeData p,
const MLTypeData q,
MLTypeData r 
) [inline, static]

Implement multiplication with its own type. Result written into parameter three.

Definition at line 495 of file mlStdTypeInfos.h.

template<>
void ml::MLTStdTypeInfos< MLuint32 >::MLTYPE_negate ( const MLTypeData p,
MLTypeData q 
) [inline]

Definition at line 517 of file mlStdTypeInfos.h.

template<>
void ml::MLTStdTypeInfos< MLuint16 >::MLTYPE_negate ( const MLTypeData p,
MLTypeData q 
) [inline]

Definition at line 516 of file mlStdTypeInfos.h.

template<>
void ml::MLTStdTypeInfos< MLuint64 >::MLTYPE_negate ( const MLTypeData p,
MLTypeData q 
) [inline]

Definition at line 518 of file mlStdTypeInfos.h.

template<>
void ml::MLTStdTypeInfos< MLuint8 >::MLTYPE_negate ( const MLTypeData p,
MLTypeData q 
) [inline]

Definition at line 515 of file mlStdTypeInfos.h.

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_negate ( const MLTypeData p,
MLTypeData q 
) [inline, static]

Negate the value. See also the specialized negations for unsigned types which leave value unchanged.

Definition at line 438 of file mlStdTypeInfos.h.

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_normalize ( const MLTypeData ,
MLTypeData q 
) [inline, static]

Normalize type.

Definition at line 441 of file mlStdTypeInfos.h.

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_plusDouble ( const MLTypeData p,
MLdouble  q,
MLTypeData r 
) [inline, static]

Implement double addition to parameter one. Result written into parameter three.

Definition at line 503 of file mlStdTypeInfos.h.

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_plusInt ( const MLTypeData p,
MLint  q,
MLTypeData r 
) [inline, static]

Implement integer addition to parameter one. Result written into parameter three.

Definition at line 501 of file mlStdTypeInfos.h.

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_plusType ( const MLTypeData p,
const MLTypeData q,
MLTypeData r 
) [inline, static]

Implement parameter two addition to parameter one. Result written into parameter three.

Definition at line 505 of file mlStdTypeInfos.h.

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_setComponent ( MLTypeData p,
size_t  ,
MLdouble  v 
) [inline, static]

Sets n-th component from double value. Must be implemented.

Definition at line 405 of file mlStdTypeInfos.h.

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_setStringValue ( const char *  s,
MLTypeData r 
) [inline, static]

Convert string s to value and write result into r. Use MLTypeComponentsFromString() if possible.

Definition at line 394 of file mlStdTypeInfos.h.

References MLTypeComponentsFromString().

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_setToDefault ( MLTypeData p) [inline, static]

Sets value to default value. Must be implemented.

Definition at line 401 of file mlStdTypeInfos.h.

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_setToMaximum ( MLTypeData p) [inline, static]

Sets value to minimum value. Must be implemented.

Definition at line 399 of file mlStdTypeInfos.h.

template<typename VTYP >
static void ml::MLTStdTypeInfos< VTYP >::MLTYPE_setToMinimum ( MLTypeData p) [inline, static]

Sets value to minimum value. Must be implemented.

Definition at line 397 of file mlStdTypeInfos.h.

template<typename VTYP >
static const char* ml::MLTStdTypeInfos< VTYP >::typeName ( MLuint32 ) [inline, static]

Definition at line 57 of file mlStdTypeInfos.h.

References MLTypeInfos::name.

template<typename VTYP >
static const char* ml::MLTStdTypeInfos< VTYP >::typeName ( MLint64 ) [inline, static]

Definition at line 60 of file mlStdTypeInfos.h.

References MLTypeInfos::name.

template<typename VTYP >
static const char* ml::MLTStdTypeInfos< VTYP >::typeName ( MLint8 ) [inline, static]

Definition at line 52 of file mlStdTypeInfos.h.

References MLTypeInfos::name.

template<typename VTYP >
static const char* ml::MLTStdTypeInfos< VTYP >::typeName ( MLdouble ) [inline, static]

Definition at line 59 of file mlStdTypeInfos.h.

References MLTypeInfos::name.

template<typename VTYP >
static const char* ml::MLTStdTypeInfos< VTYP >::typeName ( MLint32 ) [inline, static]

Definition at line 56 of file mlStdTypeInfos.h.

References MLTypeInfos::name.

template<typename VTYP >
static const char* ml::MLTStdTypeInfos< VTYP >::typeName ( MLint16 ) [inline, static]

Definition at line 54 of file mlStdTypeInfos.h.

References MLTypeInfos::name.

template<typename VTYP >
static const char* ml::MLTStdTypeInfos< VTYP >::typeName ( MLfloat ) [inline, static]

Definition at line 58 of file mlStdTypeInfos.h.

References MLTypeInfos::name.

template<typename VTYP >
static const char* ml::MLTStdTypeInfos< VTYP >::typeName ( MLuint8 ) [inline, static]

Definition at line 53 of file mlStdTypeInfos.h.

References MLTypeInfos::name.

template<typename VTYP >
static const char* ml::MLTStdTypeInfos< VTYP >::typeName ( MLuint64 ) [inline, static]

Definition at line 61 of file mlStdTypeInfos.h.

References MLTypeInfos::name.

template<typename VTYP >
static const char* ml::MLTStdTypeInfos< VTYP >::typeName ( MLuint16 ) [inline, static]

Definition at line 55 of file mlStdTypeInfos.h.

References MLTypeInfos::name.

template<typename VTYP >
static const VTYP& ml::MLTStdTypeInfos< VTYP >::value_cast ( const MLTypeData v) [inline, static, protected]

Definition at line 93 of file mlStdTypeInfos.h.

template<typename VTYP >
static VTYP& ml::MLTStdTypeInfos< VTYP >::value_cast ( MLTypeData v) [inline, static, protected]

Definition at line 92 of file mlStdTypeInfos.h.


Member Data Documentation

template<typename VTYP >
MLTypeInfos * ml::MLTStdTypeInfos< VTYP >::_myInfos = NULL [static, protected]

Permanent instance of a pointer to the typeInfos used by this class.

Definition at line 263 of file mlStdTypeInfos.h.

template<typename VTYP >
MLint32 ml::MLTStdTypeInfos< VTYP >::_numInstances = 0 [static, protected]

Number of instances of this class.

To avoid that more than one instance is created

Definition at line 271 of file mlStdTypeInfos.h.

template<typename VTYP >
const VTYP ml::MLTStdTypeInfos< VTYP >::_typeDefault = VTYP(0) [static, protected]

Permanent instance of the default value.

Definition at line 72 of file mlStdTypeInfos.h.

template<typename VTYP >
const char ml::MLTStdTypeInfos< VTYP >::_typeInfoString[_ML_STD_SLEN] [static, protected]

Permanent instance of the type's description.

Definition at line 75 of file mlStdTypeInfos.h.

template<typename VTYP >
const VTYP ml::MLTStdTypeInfos< VTYP >::_typeMax [static, protected]

Permanent instance of the maximum value.

Definition at line 69 of file mlStdTypeInfos.h.

template<typename VTYP >
const VTYP ml::MLTStdTypeInfos< VTYP >::_typeMin [static, protected]

Permanent instance of the minimum value.

Definition at line 66 of file mlStdTypeInfos.h.


The documentation for this class was generated from the following file: