1 //===- FunctionId.h ---------------------------------------------*- C++ -*-===// 2 // 3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4 // See https://llvm.org/LICENSE.txt for license information. 5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6 // 7 //===----------------------------------------------------------------------===// 8 9 #ifndef LLVM_DEBUGINFO_CODEVIEW_FUNCTIONID_H 10 #define LLVM_DEBUGINFO_CODEVIEW_FUNCTIONID_H 11 12 #include <cinttypes> 13 14 namespace llvm { 15 namespace codeview { 16 17 class FunctionId { 18 public: FunctionId()19 FunctionId() : Index(0) {} 20 FunctionId(uint32_t Index)21 explicit FunctionId(uint32_t Index) : Index(Index) {} 22 getIndex()23 uint32_t getIndex() const { return Index; } 24 25 private: 26 uint32_t Index; 27 }; 28 29 inline bool operator==(const FunctionId &A, const FunctionId &B) { 30 return A.getIndex() == B.getIndex(); 31 } 32 33 inline bool operator!=(const FunctionId &A, const FunctionId &B) { 34 return A.getIndex() != B.getIndex(); 35 } 36 37 inline bool operator<(const FunctionId &A, const FunctionId &B) { 38 return A.getIndex() < B.getIndex(); 39 } 40 41 inline bool operator<=(const FunctionId &A, const FunctionId &B) { 42 return A.getIndex() <= B.getIndex(); 43 } 44 45 inline bool operator>(const FunctionId &A, const FunctionId &B) { 46 return A.getIndex() > B.getIndex(); 47 } 48 49 inline bool operator>=(const FunctionId &A, const FunctionId &B) { 50 return A.getIndex() >= B.getIndex(); 51 } 52 } 53 } 54 55 #endif 56