gwymacros

gwymacros — Utility macros

Functions

#define gettext()
#define ngettext()
#define _()
#define N_()
#define GWY_SWAP()
#define gwy_strequal()
#define GWY_CLAMP()
#define gwy_clear()
#define gwy_object_unref()
#define gwy_signal_handler_disconnect()
#define GWY_FIND_PSPEC()
#define gwy_debug()
#define gwy_info()
void gwy_debug_gnu ()

Includes

#include <libgwyddion/gwyddion.h>

Description

Functions

gettext()

#define gettext(x) (x)

ngettext()

#define ngettext(sing, plur, n) ((n) == 1 ? (sing) : (plur))

_()

#define _(x) gettext(x)

N_()

#define N_(x) gettext_noop(x)

GWY_SWAP()

#define             GWY_SWAP(t, x, y)

Swaps two variables (more precisely lhs and rhs expressions) of type t in a single statement.

Parameters

t

A C type.

 

x

A variable of type t to swap with x .

 

y

A variable of type t to swap with y .

 

gwy_strequal()

#define             gwy_strequal(a, b)

Expands to TRUE if strings are equal, to FALSE otherwise.

Parameters

a

A string.

 

b

Another string.

 

GWY_CLAMP()

#define             GWY_CLAMP(x, low, hi)

Ensures that x is between the limits set by low and hi .

This macro differs from GLib's CLAMP() by G_UNLIKELY() assertions on the tests that x is smaller than low and larger than hi . This makes x already being in the right range the fast code path.

It is supposed to be used on results of floating-point operations that should fall to a known range but may occasionaly fail to due to rounding errors and in similar situations. Under normal circumstances, use CLAMP().

Parameters

x

The value to clamp.

 

low

The minimum value allowed.

 

hi

The maximum value allowed.

 

gwy_clear()

#define             gwy_clear(array, n)

Fills memory block representing an array with zeroes.

This is a shorthand for memset, with the number of bytes to fill calculated from the type of the pointer.

Parameters

array

Pointer to an array of values to clear. This argument may be evaluated several times.

 

n

Number of items to clear.

 

Since: 2.12


gwy_object_unref()

#define             gwy_object_unref(obj)

Unreferences an object if it exists.

If obj is not NULL, g_object_unref() is called on it. In all cases obj is set to NULL.

A useful property of this macro is its idempotence.

If the object reference count is greater than one, assure it should be referenced elsewhere, otherwise it leaks memory.

Parameters

obj

A pointer to GObject or NULL (must be an l-value).

 

gwy_signal_handler_disconnect()

#define             gwy_signal_handler_disconnect(obj, hid)

Disconnect a signal handler if it exists.

If hid is nonzero and obj is not NULL, the signal handler identified by hid is disconnected. In all cases hid is set to 0.

A useful property of this macro is its idempotence.

Parameters

obj

A pointer to GObject or NULL.

 

hid

An obj signal handler id or 0 (must be an l-value).

 

GWY_FIND_PSPEC()

#define             GWY_FIND_PSPEC(type, id, spectype)

A convenience g_object_class_find_property() wrapper.

It expands to property spec cast to correct type (spec ).

Parameters

type

Object type (e.g. GWY_TYPE_CONTAINER).

 

id

Property id.

 

spectype

Param spec type (e.g. DOUBLE).

 

gwy_debug()

#define             gwy_debug(format...)

Emits a debugging message to the program log.

The message is amended with additional information such as source file, line number or time (when possible) and emitted at log level G_LOG_LEVEL_DEBUG via g_log().

It should be noted that the default GLib log handler discards G_LOG_LEVEL_DEBUG messages but the default Gwyddion handler does not.

The macro expands to nothing if compiled without DEBUG defined.

Parameters

...

Format string, as in printf(), followed by arguments.

 

gwy_info()

#define             gwy_info(format...)

Emits an informational message.

The message is emitted at log level G_LOG_LEVEL_INFO via g_log(). This macro is primarily meant for reporting of non-fatal issues in file import modules.

It should be noted that the default GLib log handler discards G_LOG_LEVEL_INFO messages but the default Gwyddion handler does not.

Parameters

...

Format string, as in printf(), followed by arguments.

 

Since: 2.45


gwy_debug_gnu ()

void
gwy_debug_gnu (const gchar *domain,
               const gchar *fileline,
               const gchar *funcname,
               const gchar *format,
               ...);

Print a debugging message.

To be used via gwy_debug(), should not be used directly.

Parameters

domain

Log domain.

 

fileline

File and line info.

 

funcname

Function name.

 

format

Message format.

 

...

Message parameters.

 

Types and Values

See Also

gwyutils -- utility

functions