Difference between pages "r6:Function:stack pop" and "r6:Function:stack push"
(Difference between pages)
Jump to navigation
Jump to search
m (1 revision imported) |
m (1 revision imported) |
||
Line 4: | Line 4: | ||
==Prototype== | ==Prototype== | ||
int | int stack_push( struct stack_state *ss, void *user_data ); | ||
==Parameters== | ==Parameters== | ||
Line 10: | Line 10: | ||
: A stack state as allocated by ''[[r6:Function:stack_new|stack_new]]''. | : A stack state as allocated by ''[[r6:Function:stack_new|stack_new]]''. | ||
''void | ''void *user_data'' | ||
: | : A void pointer of user data which will be pushed onto the stack. | ||
==Return Value== | ==Return Value== | ||
The return value is 1 upon successful | The return value is 1 upon successful push, 0 upon failure. Failure occurs only when the stack has exhausted its freelist of elements. In this case, the user can call ''[[r6:Function:stack_guaranteed_push|stack_guaranteed_push]]'', which will allocate a new element and push using that. Remember however that the stack can never shrink, so any such call will permanently increase the size of the stack by one element. | ||
==Notes== | ==Notes== | ||
Line 21: | Line 21: | ||
==See Also== | ==See Also== | ||
* [[r6:API:Stack|Stack]] | * [[r6:API:Stack|Stack]] | ||
* [[r6:Function: | * [[r6:Function:stack_pop|stack_pop]] | ||
Latest revision as of 14:07, 4 January 2015
Source Files
/src/stack/stack_push_pop.c /inc/liblfds.h
Prototype
int stack_push( struct stack_state *ss, void *user_data );
Parameters
struct stack_state *ss
- A stack state as allocated by stack_new.
void *user_data
- A void pointer of user data which will be pushed onto the stack.
Return Value
The return value is 1 upon successful push, 0 upon failure. Failure occurs only when the stack has exhausted its freelist of elements. In this case, the user can call stack_guaranteed_push, which will allocate a new element and push using that. Remember however that the stack can never shrink, so any such call will permanently increase the size of the stack by one element.
Notes
No notes.