libzypp  11.13.5
Easy.h
Go to the documentation of this file.
1 /*---------------------------------------------------------------------\
2 | ____ _ __ __ ___ |
3 | |__ / \ / / . \ . \ |
4 | / / \ V /| _/ _/ |
5 | / /__ | | | | | | |
6 | /_____||_| |_| |_| |
7 | |
8 \---------------------------------------------------------------------*/
12 #ifndef ZYPP_BASE_EASY_H
13 #define ZYPP_BASE_EASY_H
14 
15 #include <cstdio>
16 
26 #ifndef __GXX_EXPERIMENTAL_CXX0X__
27 #define for_(IT,BEG,END) for ( typeof(BEG) IT = BEG, _for_end = END; IT != _for_end; ++IT )
28 #else
29 #define for_(IT,BEG,END) for ( auto IT = BEG, _for_end = END; IT != _for_end; ++IT )
30 #endif
31 #define for_each_(IT,CONT) for_( IT, CONT.begin(), CONT.end() )
32 
40 #define arrayBegin(A) (&A[0])
41 #define arraySize(A) (sizeof(A)/sizeof(*A))
42 #define arrayEnd(A) (&A[0] + arraySize(A))
43 
44 #define GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
45 #if GCC_VERSION < 40600 || not defined(__GXX_EXPERIMENTAL_CXX0X__)
46 #define nullptr NULL
47 #endif
48 
50 namespace zypp
51 {
52 
53 } // namespace zypp
55 #endif // ZYPP_BASE_EASY_H