diff options
Diffstat (limited to 'libparc/parc/algol/parc_Stack.h')
-rwxr-xr-x | libparc/parc/algol/parc_Stack.h | 140 |
1 files changed, 0 insertions, 140 deletions
diff --git a/libparc/parc/algol/parc_Stack.h b/libparc/parc/algol/parc_Stack.h deleted file mode 100755 index e64e02f4..00000000 --- a/libparc/parc/algol/parc_Stack.h +++ /dev/null @@ -1,140 +0,0 @@ -/* - * Copyright (c) 2017 Cisco and/or its affiliates. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at: - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * @file parc_Stack.h - * @ingroup datastructures - * @brief PARC (Generic) Stack - * - * A stack interface implementation. - * - * Example - * @code - * #include <parc/algol/parc_Deque.h> - * - * int - * main(int argc, char *argv[]) - * { - * PARCStackInterface dequeAsStack = { - * .parcStack_Release = parcDeque_Release, - * .parcStack_IsEmpty = parcDeque_IsEmpty, - * .parcStack_Peek = parcDeque_PeekLast, - * .parcStack_Pop = parcDeque_RemoveLast, - * .parcStack_Push = parcDeque_Append, - * .parcStack_Search = NULL - * }; - * - * PARCStack *stack = parcStack(parcDeque_Create(), &dequeAsStack); - * - * parcStack_IsEmpty(stack); - * } - * @endcode - * - * - */ -#ifndef libparc_parc_Stack_h -#define libparc_parc_Stack_h - -#include <stdbool.h> - -struct parc_stack; -typedef struct parc_stack PARCStack; - -typedef struct parc_stack_interface { - /** - * Release the instance - * - * - * @param [in,out] instancePtr A pointer to the pointer of the instance to release. - * - * Example: - * @code - * <#example#> - * @endcode - */ - void (*parcStack_Release)(void **instancePtr); - - /** - * Tests if this stack is empty. - * - * @param [in] instance A pointer to the instance to test. - * @return true if the stack is empty - * @return false if the stack is not empty - * - * Example: - * @code - * <#example#> - * @endcode - */ - bool (*parcStack_IsEmpty)(const void *instance); - - /** - * Looks at the object at the top of this stack without removing it from the stack. - * - * @param [in] instance A pointer to the instance to look at. - * @return The object at the top of the @p instance. - * - * Example: - * @code - * <#example#> - * @endcode - */ - void * (*parcStack_Peek)(const void *instance); - - /** - * Removes the object at the top of this stack and returns that object as the value of this function. - * - * - * @param [in,out] instance A pointer to the instance to check and modify. - * @return The object at the top of the @p instance. - * - * Example: - * @code - * <#example#> - * @endcode - */ - void * (*parcStack_Pop)(void *instance); - - /** - * Pushes an item onto the top of this stack. - * - * - * @param [in,out] instance A pointer to the instance to modify. - * @param [in] item A pointer to the object to push on the @p instance. - * @return A pointer to the object that was pushed on the @p instance. - * - * Example: - * @code - * <#example#> - * @endcode - */ - void * (*parcStack_Push)(void *instance, void *item); - - /** - * Returns the 1-based position where an object is on this stack. - * - * - * @param [in] instance A pointer to the instance. - * @param [in] element A pointer to the element to find on the @p instance. - * @return The index of the position where @p element is found in the @p instance. - * - * Example: - * @code - * <#example#> - * @endcode - */ - int (*parcStack_Search)(void *instance, void *element); -} PARCStackInterface; -#endif // libparc_parc_Stack_h |