2019-08-11 16:10:29 +02:00
|
|
|
// Copyright 2009 The RE2 Authors. All Rights Reserved.
|
|
|
|
// Use of this source code is governed by a BSD-style
|
|
|
|
// license that can be found in the LICENSE file.
|
|
|
|
|
|
|
|
#ifndef UTIL_FLAGS_H_
|
|
|
|
#define UTIL_FLAGS_H_
|
|
|
|
|
|
|
|
// Simplified version of Google's command line flags.
|
|
|
|
// Does not support parsing the command line.
|
|
|
|
// If you want to do that, see
|
|
|
|
// https://gflags.github.io/gflags/
|
|
|
|
|
2021-05-26 15:07:49 +02:00
|
|
|
#define DEFINE_FLAG(type, name, deflt, desc) \
|
2019-08-11 16:10:29 +02:00
|
|
|
namespace re2 { type FLAGS_##name = deflt; }
|
|
|
|
|
2021-05-26 15:07:49 +02:00
|
|
|
#define DECLARE_FLAG(type, name) \
|
2019-08-11 16:10:29 +02:00
|
|
|
namespace re2 { extern type FLAGS_##name; }
|
|
|
|
|
2021-05-26 15:07:49 +02:00
|
|
|
namespace re2 {
|
|
|
|
template <typename T>
|
|
|
|
T GetFlag(const T& flag) {
|
|
|
|
return flag;
|
|
|
|
}
|
|
|
|
} // namespace re2
|
2019-08-11 16:10:29 +02:00
|
|
|
|
|
|
|
#endif // UTIL_FLAGS_H_
|