ML Reference
mlUtilsSystemC.h File Reference
#include "mlUtilities.h"
#include "mlConfig.h"
#include "mlTypeDefs.h"
#include <ThirdPartyWarningsDisable.h>
#include <cstdlib>
#include <cstdio>
#include <ThirdPartyWarningsRestore.h>

Go to the source code of this file.

#define strcasecmp(a, b)   _stricmp((a),(b))
 Resolving platform incompatibilities of string functions.
 
#define strncasecmp(a, b, c)   _strnicmp((a),(b),(c))
 Implement strncasecmp by providing the internal WIN32 API-version.
 
#define strtold(a, b)   strtod((a),(b))
 Implement strtold on WIN32 platforms by strtod since long double and double are identical.
 
ML_UTILS_EXPORT MLint64 MLint64Scan (const char *source, char **endPtr)
 Reads an MLint64 from a character string source and returns scanned value as MLint64.
 
ML_UTILS_EXPORT MLuint64 MLuint64Scan (const char *source, char **endPtr)
 Reads an MLuint64 from a character string source and returns scanned value as MLuint64.
 

Global non constant constants for "always true" or "always false" expressions.

Pure C global definitions for mlUtils and ML.

ML_UTILS_EXPORT int MLAlwaysTrue
 Variable which is always true (=1), but non constant to make it impossible for compilers to detect that it is constant.
 
ML_UTILS_EXPORT int MLAlwaysFalse
 Variable which is always false (=0), but non constant to make it impossible for compilers to detect that it is constant.
 
ML_UTILS_EXPORT int MLAlwaysExecuted ()
 A do-nothing function call which cannot be optimized away to avoid that function bodies etc.
 

Macro Definition Documentation

◆ strcasecmp

#define strcasecmp ( a,
b )   _stricmp((a),(b))

Resolving platform incompatibilities of string functions.

Implement strcasecmp by providing the internal WIN32 API-version.

Definition at line 76 of file mlUtilsSystemC.h.

◆ strncasecmp

#define strncasecmp ( a,
b,
c )   _strnicmp((a),(b),(c))

Implement strncasecmp by providing the internal WIN32 API-version.

Definition at line 79 of file mlUtilsSystemC.h.

◆ strtold

#define strtold ( a,
b )   strtod((a),(b))

Implement strtold on WIN32 platforms by strtod since long double and double are identical.

Definition at line 83 of file mlUtilsSystemC.h.

Function Documentation

◆ MLAlwaysExecuted()

ML_UTILS_EXPORT int MLAlwaysExecuted ( )

A do-nothing function call which cannot be optimized away to avoid that function bodies etc.

are optimized away, that they are considered as non constant and that corresponding warnings are created. It is needed for compile technical solutions to avoid warnings. Returns always 1. See also MLAlwaysTrue MLAlwaysFalse.

◆ MLint64Scan()

ML_UTILS_EXPORT MLint64 MLint64Scan ( const char * source,
char ** endPtr )

Reads an MLint64 from a character string source and returns scanned value as MLint64.

Parameters
sourceis the string to be parsed. Leading white spaces are ignored.
endPtris the pointer to the first character after scanned string or to source if scan failed.
Returns
is a valid 64 bit signed integer if the string could be scanned. successfully; otherwise it is returned with a value given by source. This function is necessary since Microsoft forgot to implement _strtoi64 although it is well documented in the MSDN.

◆ MLuint64Scan()

ML_UTILS_EXPORT MLuint64 MLuint64Scan ( const char * source,
char ** endPtr )

Reads an MLuint64 from a character string source and returns scanned value as MLuint64.

Parameters
sourceis the string to be parsed. Leading white spaces are ignored.
endPtris the pointer to the first character after scanned string or to source if scan failed.
Returns
is a valid 64 bit unsigned integer if the string could be scanned. successfully; otherwise it is returned with a value given by source. This function is necessary since Microsoft forgot to implement _strtoui64 although it's well documented in the MSDN.

Variable Documentation

◆ MLAlwaysFalse

ML_UTILS_EXPORT int MLAlwaysFalse
extern

Variable which is always false (=0), but non constant to make it impossible for compilers to detect that it is constant.

It is needed for compile technical solutions in debug/release constructs which require always false expressions, e.g., in ML_TRY / ML_CATCH expressions. It must never be set! See also MLAlwaysTrue.

◆ MLAlwaysTrue

ML_UTILS_EXPORT int MLAlwaysTrue
extern

Variable which is always true (=1), but non constant to make it impossible for compilers to detect that it is constant.

It is needed for compile technical solutions in debug/release constructs which require always true expressions, e.g., in ML_TRY / ML_CATCH expressions. It must never be set! See also MLAlwaysFalse.