My Project
UDK 3.2.7 C/C++ API Reference
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Namespaces | Macros | Typedefs | Enumerations | Functions
types.h File Reference
#include <sal/config.h>
#include <sal/macros.h>
#include <sal/saldllapi.h>

Go to the source code of this file.

Classes

struct  _sal_Sequence
 This is the binary specification of a SAL sequence. More...

Namespaces

namespace  sal

Macros

#define sal_False   ((sal_Bool)0)
#define sal_True   ((sal_Bool)1)
#define SAL_UNICODE_NOTEQUAL_WCHAR_T
#define SAL_PRI_SIZET   "z"
#define SAL_PRI_PTRDIFFT   "t"
#define SAL_MIN_INT8   ((sal_Int8) (-0x7F - 1))
#define SAL_MAX_INT8   ((sal_Int8) 0x7F)
#define SAL_MAX_UINT8   ((sal_uInt8) 0xFF)
#define SAL_MIN_INT16   ((sal_Int16) (-0x7FFF - 1))
#define SAL_MAX_INT16   ((sal_Int16) 0x7FFF)
#define SAL_MAX_UINT16   ((sal_uInt16) 0xFFFF)
#define SAL_MIN_INT32   ((sal_Int32) (-0x7FFFFFFF - 1))
#define SAL_MAX_INT32   ((sal_Int32) 0x7FFFFFFF)
#define SAL_MAX_UINT32   ((sal_uInt32) 0xFFFFFFFF)
#define SAL_MIN_INT64   ((sal_Int64) (SAL_CONST_INT64(-0x7FFFFFFFFFFFFFFF) - 1))
#define SAL_MAX_INT64   ((sal_Int64) SAL_CONST_INT64(0x7FFFFFFFFFFFFFFF))
#define SAL_MAX_UINT64   ((sal_uInt64) SAL_CONST_UINT64(0xFFFFFFFFFFFFFFFF))
#define SAL_EXCEPTION_DLLPUBLIC_EXPORT
 Exporting the symbols necessary for exception handling on GCC.
#define SAL_EXCEPTION_DLLPRIVATE
#define SAL_WARN_UNUSED_RESULT
 Use this as markup for functions and methods whose return value must be checked.
#define SAL_NO_VTABLE
 Use this for pure virtual classes, e.g.
#define SAL_SEQUENCE_HEADER_SIZE   ((sal_Size)&((sal_Sequence *)0)->elements)
#define SAL_THROW(exc)   throw exc
 Definition of function throw clause macros.
#define SAL_THROW_EXTERN_C()   throw ()
#define SAL_DEPRECATED(message)
 Use as follows: SAL_DEPRECATED("Dont use, its evil.") void doit(int nPara);.
#define SAL_WNODEPRECATED_DECLARATIONS_PUSH
 Use as follows: SAL_WNODEPRECATED_DECLARATIONS_PUSH ::std::auto_ptr<X> ...
#define SAL_WNODEPRECATED_DECLARATIONS_POP
#define SAL_UNUSED_PARAMETER
 Annotate unused but required C++ function parameters.

Typedefs

typedef unsigned char sal_Bool
typedef signed char sal_Int8
typedef unsigned char sal_uInt8
typedef char sal_Char
typedef signed char sal_sChar
typedef unsigned char sal_uChar
typedef sal_uInt16 sal_Unicode
typedef void * sal_Handle
typedef struct _sal_Sequence sal_Sequence
 This is the binary specification of a SAL sequence.

Enumerations

enum  __sal_NoAcquire { SAL_NO_ACQUIRE }

Functions

template<typename T1 , typename T2 >
T1 sal::static_int_cast (T2 n)
 A static_cast between integral types, to avoid C++ compiler warnings.

Macro Definition Documentation

#define SAL_DEPRECATED (   message)

Use as follows: SAL_DEPRECATED("Dont use, its evil.") void doit(int nPara);.

#define SAL_EXCEPTION_DLLPRIVATE
#define SAL_EXCEPTION_DLLPUBLIC_EXPORT

Exporting the symbols necessary for exception handling on GCC.

These macros are used for inline declarations of exception classes, as in rtl/malformeduriexception.hxx.

#define sal_False   ((sal_Bool)0)
#define SAL_MAX_INT16   ((sal_Int16) 0x7FFF)
#define SAL_MAX_INT32   ((sal_Int32) 0x7FFFFFFF)
#define SAL_MAX_INT64   ((sal_Int64) SAL_CONST_INT64(0x7FFFFFFFFFFFFFFF))
#define SAL_MAX_INT8   ((sal_Int8) 0x7F)
#define SAL_MAX_UINT16   ((sal_uInt16) 0xFFFF)
#define SAL_MAX_UINT32   ((sal_uInt32) 0xFFFFFFFF)
#define SAL_MAX_UINT64   ((sal_uInt64) SAL_CONST_UINT64(0xFFFFFFFFFFFFFFFF))
#define SAL_MAX_UINT8   ((sal_uInt8) 0xFF)
#define SAL_MIN_INT16   ((sal_Int16) (-0x7FFF - 1))
#define SAL_MIN_INT32   ((sal_Int32) (-0x7FFFFFFF - 1))
#define SAL_MIN_INT64   ((sal_Int64) (SAL_CONST_INT64(-0x7FFFFFFFFFFFFFFF) - 1))
#define SAL_MIN_INT8   ((sal_Int8) (-0x7F - 1))
#define SAL_NO_VTABLE

Use this for pure virtual classes, e.g.

class SAL_NO_VTABLE Foo { ... This hinders the compiler from setting a generic vtable stating that a pure virtual function was called and thus slightly reduces code size.

#define SAL_PRI_PTRDIFFT   "t"
#define SAL_PRI_SIZET   "z"
#define SAL_SEQUENCE_HEADER_SIZE   ((sal_Size)&((sal_Sequence *)0)->elements)
#define SAL_THROW (   exc)    throw exc

Definition of function throw clause macros.

These have been introduced to reduce code size by balancing out compiler bugs.

These macros are ONLY for function declarations, use common C++ throw statement for throwing exceptions, e.g. throw RuntimeException();

SAL_THROW() should be used for all C++ functions, e.g. SAL_THROW(()) SAL_THROW_EXTERN_C() should be used for all C functions

#define SAL_THROW_EXTERN_C ( )    throw ()
#define sal_True   ((sal_Bool)1)
#define SAL_UNICODE_NOTEQUAL_WCHAR_T
#define SAL_UNUSED_PARAMETER

Annotate unused but required C++ function parameters.

An unused parameter is required if the function needs to adhere to a given type (e.g., if its address is assigned to a function pointer of a specific type, or if it is called from template code). This annotation helps static analysis tools suppress false warnings. In the case of virtual functions (where unused required parameters are common, too), the annotation is not required (as static analysis tools can themselves derive the information whether a function is virtual).

Use the annotation in function definitions like

void f(SAL_UNUSED_PARAMETER int) {}

C does not allow unnamed parameters, anyway, so a function definition like the above needs to be written there as

void f(int dummy) { (void) dummy; / * avoid warnings * / }

without a SAL_UNUSED_PARAMETER annotation.

Since
LibreOffice 3.6
#define SAL_WARN_UNUSED_RESULT

Use this as markup for functions and methods whose return value must be checked.

Compilers that support a construct of this nature will emit a compile time warning on unchecked return value.

#define SAL_WNODEPRECATED_DECLARATIONS_POP
#define SAL_WNODEPRECATED_DECLARATIONS_PUSH

Use as follows: SAL_WNODEPRECATED_DECLARATIONS_PUSH ::std::auto_ptr<X> ...

SAL_WNODEPRECATED_DECLARATIONS_POP

Typedef Documentation

typedef unsigned char sal_Bool
typedef char sal_Char
typedef void* sal_Handle
typedef signed char sal_Int8
typedef signed char sal_sChar
typedef struct _sal_Sequence sal_Sequence

This is the binary specification of a SAL sequence.


typedef unsigned char sal_uChar
typedef unsigned char sal_uInt8
typedef sal_uInt16 sal_Unicode

Enumeration Type Documentation

Enumerator:
SAL_NO_ACQUIRE 

definition of a no acquire enum for ctors