1 // Copyright 2014 The Android Open Source Project 2 // 3 // This software is licensed under the terms of the GNU General Public 4 // License version 2, as published by the Free Software Foundation, and 5 // may be copied, distributed, and modified under those terms. 6 // 7 // This program is distributed in the hope that it will be useful, 8 // but WITHOUT ANY WARRANTY; without even the implied warranty of 9 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 10 // GNU General Public License for more details. 11 12 #ifndef ANDROID_BASE_LIMITS_H 13 #define ANDROID_BASE_LIMITS_H 14 15 // In C++, <stdint.h> will only define macros like SIZE_MAX if you have 16 // defined __STDC_LIMIT_MACROS before including <stdint.h>. This header 17 // is used to do just that and verify that the macros are properly 18 // defined. 19 // 20 // NOTE: We have to define __STDC_FORMAT_MACROS in case the user wants 21 // to use the corresponding macros as well. 22 23 #define __STDC_LIMIT_MACROS 1 24 #define __STDC_FORMAT_MACROS 1 25 #include <inttypes.h> 26 27 #ifndef SIZE_MAX 28 #warning "<inttypes.h> has been included before this header." 29 #warning "This prevents the definition of useful macros." 30 #error "Please include <android/base/Limits.h> first!" 31 #endif 32 33 #endif // ANDROID_BASE_LIMITS_H 34