1 // Copyright 2009 The RE2 Authors. All Rights Reserved. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 // Simplified version of Google's command line flags. 6 // Does not support parsing the command line. 7 // If you want to do that, see 8 // http://code.google.com/p/google-gflags 9 10 #ifndef RE2_UTIL_FLAGS_H__ 11 #define RE2_UTIL_FLAGS_H__ 12 13 #define DEFINE_flag(type, name, deflt, desc) \ 14 namespace re2 { type FLAGS_##name = deflt; } 15 16 #define DECLARE_flag(type, name) \ 17 namespace re2 { extern type FLAGS_##name; } 18 19 #define DEFINE_bool(name, deflt, desc) DEFINE_flag(bool, name, deflt, desc) 20 #define DEFINE_int32(name, deflt, desc) DEFINE_flag(int32, name, deflt, desc) 21 #define DEFINE_string(name, deflt, desc) DEFINE_flag(string, name, deflt, desc) 22 23 #define DECLARE_bool(name) DECLARE_flag(bool, name) 24 #define DECLARE_int32(name) DECLARE_flag(int32, name) 25 #define DECLARE_string(name) DECLARE_flag(string, name) 26 27 #endif // RE2_UTIL_FLAGS_H__ 28