1 //===- OptSpecifier.h - Option Specifiers -----------------------*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 #ifndef LLVM_OPTION_OPTSPECIFIER_H
11 #define LLVM_OPTION_OPTSPECIFIER_H
18 /// OptSpecifier - Wrapper class for abstracting references to option IDs.
23 OptSpecifier() = default;
24 explicit OptSpecifier(bool) = delete;
25 /*implicit*/ OptSpecifier(unsigned ID
) : ID(ID
) {}
26 /*implicit*/ OptSpecifier(const Option
*Opt
);
28 bool isValid() const { return ID
!= 0; }
30 unsigned getID() const { return ID
; }
32 bool operator==(OptSpecifier Opt
) const { return ID
== Opt
.getID(); }
33 bool operator!=(OptSpecifier Opt
) const { return !(*this == Opt
); }
36 } // end namespace opt
37 } // end namespace llvm
39 #endif // LLVM_OPTION_OPTSPECIFIER_H