OR-Tools  9.6
init_google.h
Go to the documentation of this file.
1 // Copyright 2010-2022 Google LLC
2 // Licensed under the Apache License, Version 2.0 (the "License");
3 // you may not use this file except in compliance with the License.
4 // You may obtain a copy of the License at
5 //
6 // http://www.apache.org/licenses/LICENSE-2.0
7 //
8 // Unless required by applicable law or agreed to in writing, software
9 // distributed under the License is distributed on an "AS IS" BASIS,
10 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11 // See the License for the specific language governing permissions and
12 // limitations under the License.
13 
14 #ifndef OR_TOOLS_BASE_INIT_GOOGLE_H_
15 #define OR_TOOLS_BASE_INIT_GOOGLE_H_
16 
17 #include "absl/flags/declare.h"
18 #include "absl/flags/flag.h"
19 #include "absl/flags/parse.h"
20 #include "absl/flags/usage.h"
21 #include "absl/log/initialize.h"
22 // Initializes misc google-related things in the binary.
23 //
24 // Typically called early on in main() and must be called before other
25 // threads start using functions from this file.
26 //
27 // 'usage' provides a short usage message passed to
28 // absl::SetProgramUsageMessage().
29 // Most callers provide the name of the app as 'usage' ?!
30 // 'argc' and 'argv' are the command line flags to parse. There is no
31 // requirement for an element (*argv)[*argc] to exist or to have
32 // any particular value, unlike the similar array that is passed
33 // to the `main` function.
34 inline void InitGoogle(const char* usage, int* argc, char*** argv,
35  bool deprecated) {
36  absl::InitializeLog();
37  absl::SetProgramUsageMessage(usage);
38  absl::ParseCommandLine(*argc, *argv);
39 }
40 
41 namespace google {
42 
43 inline void InitGoogleLogging(const std::string& usage) {
44  absl::InitializeLog();
45  absl::SetProgramUsageMessage(usage);
46 }
47 
48 inline void ShutdownGoogleLogging() {} // No op.
49 
50 } // namespace google
51 
52 #endif // OR_TOOLS_BASE_INIT_GOOGLE_H_
void InitGoogle(const char *usage, int *argc, char ***argv, bool deprecated)
Definition: init_google.h:34
void ShutdownGoogleLogging()
Definition: init_google.h:48
void InitGoogleLogging(const std::string &usage)
Definition: init_google.h:43