Xfce Generics

Xfce Generics — Generic data types and related functions.

Stability Level

Stable, unless otherwise indicated

Functions

#define XFCE_GENERIC_STACK()
#define xfce_stack_new()
#define xfce_stack_free()
#define xfce_stack_top()
#define xfce_stack_pop()
#define xfce_stack_push()

Includes

#include <libxfce4util/libxfce4util.h>

Description

Xfce-dialogs are a collection of helper dialogs to display the help dialog with link to the docs website, warning, info, and error dialogs and more.

Using a generic stack

1
2
3
4
5
6
7
8
typedef XFCE_GENERIC_STACK(int) IntStack;
IntStack *stack = xfce_stack_new (IntStack);
xfce_stack_push (stack, 0);
xfce_stack_push (stack, 1);
printf ("Top is %d\n", xfce_stack_top (stack));
xfce_stack_pop (stack);
printf ("Top is %d\n", xfce_stack_top (stack));
xfce_stack_free (stack);

Functions

XFCE_GENERIC_STACK()

#define             XFCE_GENERIC_STACK(Type)

This macro is used to create a new stack data type which elements are of Type . For example, to create a stack type that handles elements of type double, you'd write the following

1
typedef XFCE_GENERIC_STACK(double) MyDoubleStack;

and furtheron refer to your stack type as MyDoubleStack.

Parameters

Type

Data type of the elements that should be handled by the stack. Can be any valid data type from simple int's to complex structures.

 

xfce_stack_new()

#define             xfce_stack_new(StackType)

Creates a new instance of StackType and returns a pointer to the newly created instance. For example, imagine you declared a type MyDoubleStack as shown above, you can instantiate this type with

1
MyDoubleStack *my_stack = xfce_stack_new (MyDoubleStack);

Parameters

StackType

Type of stack declared with XFCE_GENERIC_STACK.

 

xfce_stack_free()

#define             xfce_stack_free(stack)

Frees a stack, that was allocated using xfce_stack_new.

Parameters

stack

A stack object.

 

xfce_stack_top()

#define             xfce_stack_top(stack)

Removes the top element from stack .

Parameters

stack

A stack object.

 

xfce_stack_pop()

#define             xfce_stack_pop(stack)

Removes the top element from stack .

Parameters

stack

A stack object.

 

xfce_stack_push()

#define             xfce_stack_push(stack, value)

Pushes a new value on top of stack .

Parameters

stack

A stack object.

 

value

the value to push