blob: bc102278819cdc7486a8f75b10dff275591a742d [file] [log] [blame]
Andrew Scull5e1ddfa2018-08-14 10:06:54 +01001//===- FunctionId.h ---------------------------------------------*- C++ -*-===//
2//
Andrew Walbran16937d02019-10-22 13:54:20 +01003// 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
Andrew Scull5e1ddfa2018-08-14 10:06:54 +01006//
7//===----------------------------------------------------------------------===//
8
9#ifndef LLVM_DEBUGINFO_CODEVIEW_FUNCTIONID_H
10#define LLVM_DEBUGINFO_CODEVIEW_FUNCTIONID_H
11
12#include <cinttypes>
13
14namespace llvm {
15namespace codeview {
16
17class FunctionId {
18public:
19 FunctionId() : Index(0) {}
20
21 explicit FunctionId(uint32_t Index) : Index(Index) {}
22
23 uint32_t getIndex() const { return Index; }
24
25private:
26 uint32_t Index;
27};
28
29inline bool operator==(const FunctionId &A, const FunctionId &B) {
30 return A.getIndex() == B.getIndex();
31}
32
33inline bool operator!=(const FunctionId &A, const FunctionId &B) {
34 return A.getIndex() != B.getIndex();
35}
36
37inline bool operator<(const FunctionId &A, const FunctionId &B) {
38 return A.getIndex() < B.getIndex();
39}
40
41inline bool operator<=(const FunctionId &A, const FunctionId &B) {
42 return A.getIndex() <= B.getIndex();
43}
44
45inline bool operator>(const FunctionId &A, const FunctionId &B) {
46 return A.getIndex() > B.getIndex();
47}
48
49inline bool operator>=(const FunctionId &A, const FunctionId &B) {
50 return A.getIndex() >= B.getIndex();
51}
52}
53}
54
55#endif