linked-list.h

Go to the documentation of this file.
00001 /*
00002   Copyright 1999-2020 ImageMagick Studio LLC, a non-profit organization
00003   dedicated to making software imaging solutions freely available.
00004   
00005   You may not use this file except in compliance with the License.  You may
00006   obtain a copy of the License at
00007   
00008     https://imagemagick.org/script/license.php
00009   
00010   Unless required by applicable law or agreed to in writing, software
00011   distributed under the License is distributed on an "AS IS" BASIS,
00012   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013   See the License for the specific language governing permissions and
00014   limitations under the License.
00015 
00016   MagickCore linked list methods.
00017 */
00018 #ifndef MAGICKCORE_LINKED_LIST_H
00019 #define MAGICKCORE_LINKED_LIST_H
00020 
00021 #if defined(__cplusplus) || defined(c_plusplus)
00022 extern "C" {
00023 #endif
00024 
00025 typedef struct _LinkedListInfo
00026   LinkedListInfo;
00027 
00028 extern MagickExport LinkedListInfo
00029   *DestroyLinkedList(LinkedListInfo *,void *(*)(void *)),
00030   *NewLinkedList(const size_t);
00031 
00032 extern MagickExport MagickBooleanType
00033   AppendValueToLinkedList(LinkedListInfo *,const void *),
00034   InsertValueInLinkedList(LinkedListInfo *,const size_t,const void *),
00035   InsertValueInSortedLinkedList(LinkedListInfo *,
00036     int (*)(const void *,const void *),void **,const void *),
00037   IsLinkedListEmpty(const LinkedListInfo *),
00038   LinkedListToArray(LinkedListInfo *,void **);
00039 
00040 extern MagickExport size_t
00041   GetNumberOfElementsInLinkedList(const LinkedListInfo *);
00042 
00043 extern MagickExport void
00044   ClearLinkedList(LinkedListInfo *,void *(*)(void *)),
00045   *GetLastValueInLinkedList(LinkedListInfo *),
00046   *GetNextValueInLinkedList(LinkedListInfo *),
00047   *GetValueFromLinkedList(LinkedListInfo *,const size_t),
00048   *RemoveElementByValueFromLinkedList(LinkedListInfo *,const void *),
00049   *RemoveElementFromLinkedList(LinkedListInfo *,const size_t),
00050   *RemoveLastElementFromLinkedList(LinkedListInfo *),
00051   ResetLinkedListIterator(LinkedListInfo *);
00052 
00053 #if defined(__cplusplus) || defined(c_plusplus)
00054 }
00055 #endif
00056 
00057 #endif

Generated on 17 Aug 2020 for MagickCore by  doxygen 1.6.1