Top | ![]() |
![]() |
![]() |
![]() |
#define | G_IS_DIR_SEPARATOR() |
#define | NULL |
#define | MIN() |
#define | MAX() |
#define | ABS() |
#define | CLAMP() |
#define | G_STRUCT_MEMBER() |
#define | G_STRUCT_MEMBER_P() |
#define | G_STRUCT_OFFSET() |
#define | G_N_ELEMENTS() |
#define | G_OS_WIN32 |
#define | G_OS_BEOS |
#define | G_OS_UNIX |
#define | G_DIR_SEPARATOR |
#define | G_DIR_SEPARATOR_S |
#define | G_SEARCHPATH_SEPARATOR |
#define | G_SEARCHPATH_SEPARATOR_S |
#define | TRUE |
#define | FALSE |
#define | G_MEM_ALIGN |
#define | G_CONST_RETURN |
#define G_IS_DIR_SEPARATOR(c) ((c) == G_DIR_SEPARATOR || (c) == '/')
Checks whether a character is a directory
separator. It returns TRUE
for '/' on UNIX
machines and for '\' or '/' under Windows.
Since 2.6
#define ABS(a) (((a) < 0) ? -(a) : (a))
Calculates the absolute value of a
.
The absolute value is simply the number with any negative sign taken away.
For example,
ABS(-10) is 10.
ABS(10) is also 10.
#define CLAMP(x, low, high) (((x) > (high)) ? (high) : (((x) < (low)) ? (low) : (x)))
Ensures that x
is between the limits set by low
and high
. If low
is
greater than high
the result is undefined.
For example,
CLAMP(5, 10, 15) is 10.
CLAMP(15, 5, 10) is 10.
CLAMP(20, 15, 25) is 20.
#define G_STRUCT_MEMBER(member_type, struct_p, struct_offset)
Returns a member of a structure at a given offset, using the given type.
#define G_STRUCT_MEMBER_P(struct_p, struct_offset)
Returns an untyped pointer to a given offset of a struct.
#define G_STRUCT_OFFSET(struct_type, member)
Returns the offset, in bytes, of a member of a struct.
#define G_N_ELEMENTS(arr) (sizeof (arr) / sizeof ((arr)[0]))
Determines the number of elements in an array. The array must be declared so the compiler knows its size at compile-time; this macro will not work on an array allocated on the heap, only static arrays or arrays on the stack.
#define G_OS_WIN32
This macro is defined only on Windows. So you can bracket Windows-specific code in "#ifdef G_OS_WIN32".
#define G_OS_BEOS
This macro is defined only on BeOS. So you can bracket BeOS-specific code in "#ifdef G_OS_BEOS".
#define G_OS_UNIX
This macro is defined only on UNIX. So you can bracket UNIX-specific code in "#ifdef G_OS_UNIX".
#define G_DIR_SEPARATOR '\\'
The directory separator character. This is '/' on UNIX machines and '\' under Windows.
#define G_DIR_SEPARATOR_S "\\"
The directory separator as a string. This is "/" on UNIX machines and "\" under Windows.
#define G_SEARCHPATH_SEPARATOR ';'
The search path separator character. This is ':' on UNIX machines and ';' under Windows.
#define G_SEARCHPATH_SEPARATOR_S ";"
The search path separator as a string. This is ":" on UNIX machines and ";" under Windows.
# define G_MEM_ALIGN GLIB_SIZEOF_VOID_P
Indicates the number of bytes to which memory will be aligned on the current platform.
#define G_CONST_RETURN
G_CONST_RETURN
has been deprecated since version 2.30 and should not be used in newly-written code.
API providers should replace all existing uses with
const
and API consumers should adjust their code
accordingly
If G_DISABLE_CONST_RETURNS
is defined, this macro expands
to nothing. By default, the macro expands to const
.
The macro should be used in place of const
for
functions that return a value that should not be modified. The
purpose of this macro is to allow us to turn on const
for returned constant strings by default, while allowing programmers
who find that annoying to turn it off. This macro should only be used
for return values and for out parameters, it doesn't
make sense for in parameters.