libzypp  10.5.0
Easy.h
Go to the documentation of this file.
00001 /*---------------------------------------------------------------------\
00002 |                          ____ _   __ __ ___                          |
00003 |                         |__  / \ / / . \ . \                         |
00004 |                           / / \ V /|  _/  _/                         |
00005 |                          / /__ | | | | | |                           |
00006 |                         /_____||_| |_| |_|                           |
00007 |                                                                      |
00008 \---------------------------------------------------------------------*/
00012 #ifndef ZYPP_BASE_EASY_H
00013 #define ZYPP_BASE_EASY_H
00014 
00015 #include <cstdio>
00016 
00026 #ifndef __GXX_EXPERIMENTAL_CXX0X__
00027 #define for_(IT,BEG,END) for ( typeof(BEG) IT = BEG, _for_end = END; IT != _for_end; ++IT )
00028 #else
00029 #define for_(IT,BEG,END) for ( auto IT = BEG, _for_end = END; IT != _for_end; ++IT )
00030 #endif
00031 #define for_each_(IT,CONT) for_( IT, CONT.begin(), CONT.end() )
00032 
00040 #define arrayBegin(A) (&A[0])
00041 #define arraySize(A)  (sizeof(A)/sizeof(*A))
00042 #define arrayEnd(A)   (&A[0] + arraySize(A))
00043 
00044 
00045 #define GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100  + __GNUC_PATCHLEVEL__)
00046 #if GCC_VERSION < 40600 || not defined(__GXX_EXPERIMENTAL_CXX0X__)
00047 #define nullptr NULL
00048 #endif
00049 
00051 namespace zypp
00052 { 
00053 
00054 } // namespace zypp
00056 #endif // ZYPP_BASE_EASY_H