DIERef.h revision 296417
1296078Sadrian//===-- DIERef.h ------------------------------------------------*- C++ -*-===//
2296078Sadrian//
3296078Sadrian//                     The LLVM Compiler Infrastructure
4296078Sadrian//
5296078Sadrian// This file is distributed under the University of Illinois Open Source
6296078Sadrian// License. See LICENSE.TXT for details.
7296078Sadrian//
8296078Sadrian//===----------------------------------------------------------------------===//
9296078Sadrian
10#ifndef SymbolFileDWARF_DIERef_h_
11#define SymbolFileDWARF_DIERef_h_
12
13#include "lldb/Core/dwarf.h"
14#include "lldb/lldb-defines.h"
15
16class DWARFFormValue;
17
18struct DIERef
19{
20    DIERef();
21
22    explicit
23    DIERef(dw_offset_t d);
24
25    DIERef(dw_offset_t c, dw_offset_t d);
26
27    explicit
28    DIERef(lldb::user_id_t uid);
29
30    explicit
31    DIERef(const DWARFFormValue& form_value);
32
33    lldb::user_id_t
34    GetUID() const;
35
36    bool
37    operator< (const DIERef &ref) const
38    {
39        return die_offset < ref.die_offset;
40    }
41
42    bool
43    operator< (const DIERef &ref)
44    {
45        return die_offset < ref.die_offset;
46    }
47
48    dw_offset_t cu_offset;
49    dw_offset_t die_offset;
50};
51
52typedef std::vector<DIERef> DIEArray;
53
54#endif  // SymbolFileDWARF_DIERef_h_
55