src/cx/list.h

changeset 1293
a8d86a951d0b
parent 1289
2e8edba252a0
equal deleted inserted replaced
1292:1e7ee17777f4 1293:a8d86a951d0b
858 * 858 *
859 * @param list the list 859 * @param list the list
860 * @param elem the element to find 860 * @param elem the element to find
861 * @return the index of the element or the size of the list when the element is not found 861 * @return the index of the element or the size of the list when the element is not found
862 * @see cxListIndexValid() 862 * @see cxListIndexValid()
863 * @see cxListContains()
863 */ 864 */
864 cx_attr_nonnull 865 cx_attr_nonnull
865 cx_attr_nodiscard 866 cx_attr_nodiscard
866 static inline size_t cxListFind( 867 static inline size_t cxListFind(
867 const CxList *list, 868 const CxList *list,
868 const void *elem 869 const void *elem
869 ) { 870 ) {
870 return list->cl->find_remove((CxList*)list, elem, false); 871 return list->cl->find_remove((CxList*)list, elem, false);
872 }
873
874 /**
875 * Checks, if the list contains the specified element.
876 *
877 * The elements are compared with the list's comparator function.
878 *
879 * @param list the list
880 * @param elem the element to find
881 * @retval true if the element is contained
882 * @retval false if the element is not contained
883 * @see cxListFind()
884 */
885 cx_attr_nonnull
886 cx_attr_nodiscard
887 static inline bool cxListContains(
888 const CxList* list,
889 const void* elem
890 ) {
891 return list->cl->find_remove((CxList*)list, elem, false) < list->collection.size;
871 } 892 }
872 893
873 /** 894 /**
874 * Checks if the specified index is within bounds. 895 * Checks if the specified index is within bounds.
875 * 896 *

mercurial