1aaebaa0121be3b9d9f13630585304482cbcaeb4bIgor Murashkin/*
2aaebaa0121be3b9d9f13630585304482cbcaeb4bIgor Murashkin * Copyright (C) 2015 The Android Open Source Project
3aaebaa0121be3b9d9f13630585304482cbcaeb4bIgor Murashkin *
4aaebaa0121be3b9d9f13630585304482cbcaeb4bIgor Murashkin * Licensed under the Apache License, Version 2.0 (the "License");
5aaebaa0121be3b9d9f13630585304482cbcaeb4bIgor Murashkin * you may not use this file except in compliance with the License.
6aaebaa0121be3b9d9f13630585304482cbcaeb4bIgor Murashkin * You may obtain a copy of the License at
7aaebaa0121be3b9d9f13630585304482cbcaeb4bIgor Murashkin *
8aaebaa0121be3b9d9f13630585304482cbcaeb4bIgor Murashkin *      http://www.apache.org/licenses/LICENSE-2.0
9aaebaa0121be3b9d9f13630585304482cbcaeb4bIgor Murashkin *
10aaebaa0121be3b9d9f13630585304482cbcaeb4bIgor Murashkin * Unless required by applicable law or agreed to in writing, software
11aaebaa0121be3b9d9f13630585304482cbcaeb4bIgor Murashkin * distributed under the License is distributed on an "AS IS" BASIS,
12aaebaa0121be3b9d9f13630585304482cbcaeb4bIgor Murashkin * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13aaebaa0121be3b9d9f13630585304482cbcaeb4bIgor Murashkin * See the License for the specific language governing permissions and
14aaebaa0121be3b9d9f13630585304482cbcaeb4bIgor Murashkin * limitations under the License.
15aaebaa0121be3b9d9f13630585304482cbcaeb4bIgor Murashkin */
16aaebaa0121be3b9d9f13630585304482cbcaeb4bIgor Murashkin
17aaebaa0121be3b9d9f13630585304482cbcaeb4bIgor Murashkin#ifndef ART_CMDLINE_UNIT_H_
18aaebaa0121be3b9d9f13630585304482cbcaeb4bIgor Murashkin#define ART_CMDLINE_UNIT_H_
19aaebaa0121be3b9d9f13630585304482cbcaeb4bIgor Murashkin
20aaebaa0121be3b9d9f13630585304482cbcaeb4bIgor Murashkinnamespace art {
21aaebaa0121be3b9d9f13630585304482cbcaeb4bIgor Murashkin
22aaebaa0121be3b9d9f13630585304482cbcaeb4bIgor Murashkin// Used for arguments that simply indicate presence (e.g. "-help") without any values.
23aaebaa0121be3b9d9f13630585304482cbcaeb4bIgor Murashkinstruct Unit {
24aaebaa0121be3b9d9f13630585304482cbcaeb4bIgor Murashkin  // Avoid 'Conditional jump or move depends on uninitialised value(s)' errors
25aaebaa0121be3b9d9f13630585304482cbcaeb4bIgor Murashkin  // when running valgrind by specifying a user-defined constructor.
26aaebaa0121be3b9d9f13630585304482cbcaeb4bIgor Murashkin  Unit() {}
27758a801b66c134361a7b43f7e83f85d1fb800c4cAndreas Gampe  Unit(const Unit&) = default;
28aaebaa0121be3b9d9f13630585304482cbcaeb4bIgor Murashkin  ~Unit() {}
29aaebaa0121be3b9d9f13630585304482cbcaeb4bIgor Murashkin  bool operator==(Unit) const {
30aaebaa0121be3b9d9f13630585304482cbcaeb4bIgor Murashkin    return true;
31aaebaa0121be3b9d9f13630585304482cbcaeb4bIgor Murashkin  }
32aaebaa0121be3b9d9f13630585304482cbcaeb4bIgor Murashkin};
33aaebaa0121be3b9d9f13630585304482cbcaeb4bIgor Murashkin
34aaebaa0121be3b9d9f13630585304482cbcaeb4bIgor Murashkin}  // namespace art
35aaebaa0121be3b9d9f13630585304482cbcaeb4bIgor Murashkin
36aaebaa0121be3b9d9f13630585304482cbcaeb4bIgor Murashkin#endif  // ART_CMDLINE_UNIT_H_
37