Choco OS
V.0.16.9.0
Join to the chocolate world
Main Page
Related Pages
Modules
Data Structures
Files
File List
Globals
oc_array.h
Go to the documentation of this file.
1
28
#ifndef SYSTEM_CORE_OC_ARRAY_H_
29
#define SYSTEM_CORE_OC_ARRAY_H_
30
31
//==========================================================================================================================================
35
//==========================================================================================================================================
36
#define oC_ARRAY_SIZE( ARRAY ) ( sizeof(ARRAY) / sizeof(ARRAY[0]) )
37
#define oC_ARRAY_ELEMENT_REFERENCE( ARRAY , INDEX ) &ARRAY[ INDEX ]
38
#define oC_ARRAY_LAST_ELEMENT_INDEX( ARRAY ) (oC_ARRAY_SIZE(ARRAY) - 1)
39
#define oC_ARRAY_LAST_ELEMENT( ARRAY ) ARRAY[ oC_ARRAY_LAST_ELEMENT_INDEX(ARRAY) ]
40
#define oC_ARRAY_LAST_ELEMENT_REFERENCE( ARRAY ) &oC_ARRAY_ELEMENT_REFERENCE( ARRAY , oC_ARRAY_LAST_ELEMENT_INDEX(ARRAY))
41
#define oC_ARRAY_IS_INDEX_CORRECT( ARRAY , INDEX ) ( INDEX < oC_ARRAY_SIZE(ARRAY) )
42
#define oC_ARRAY_FOREACH_IN_ARRAY_WITH_SIZE(ARRAY,SIZE,ELEMENT) for( __typeof__(ARRAY[0]) * ELEMENT = ARRAY ; ELEMENT < &ARRAY[SIZE]; ELEMENT++)
43
#define oC_ARRAY_FOREACH_IN_ARRAY(ARRAY,ELEMENT_NAME) oC_ARRAY_FOREACH_IN_ARRAY_WITH_SIZE(ARRAY,oC_ARRAY_SIZE(ARRAY),ELEMENT_NAME)
44
#define oC_ARRAY_FOREACH_BREAK(ARRAY) break
45
46
#endif
/* SYSTEM_CORE_OC_ARRAY_H_ */
Source
system
libraries
inc
oc_array.h
Generated on Fri Oct 20 2017 19:56:09 for Choco OS by
1.8.11