LLDB  mainline
SBTypeEnumMember.h
Go to the documentation of this file.
1 
2 //===-- SBTypeEnumMember.h --------------------------------------*- C++ -*-===//
3 //
4 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5 // See https://llvm.org/LICENSE.txt for license information.
6 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //
8 //===----------------------------------------------------------------------===//
9 
10 #ifndef LLDB_SBTypeEnumMember_h_
11 #define LLDB_SBTypeEnumMember_h_
12 
13 #include "lldb/API/SBDefines.h"
14 
15 namespace lldb {
16 
18 public:
20 
22 
24 
25  SBTypeEnumMember &operator=(const SBTypeEnumMember &rhs);
26 
27  explicit operator bool() const;
28 
29  bool IsValid() const;
30 
31  int64_t GetValueAsSigned();
32 
33  uint64_t GetValueAsUnsigned();
34 
35  const char *GetName();
36 
37  lldb::SBType GetType();
38 
39  bool GetDescription(lldb::SBStream &description,
40  lldb::DescriptionLevel description_level);
41 
42 protected:
43  friend class SBType;
44  friend class SBTypeEnumMemberList;
45 
47 
49 
50  const lldb_private::TypeEnumMemberImpl &ref() const;
51 
52  lldb::TypeEnumMemberImplSP m_opaque_sp;
53 
54  SBTypeEnumMember(const lldb::TypeEnumMemberImplSP &);
55 };
56 
58 public:
60 
62 
64 
65  SBTypeEnumMemberList &operator=(const SBTypeEnumMemberList &rhs);
66 
67  explicit operator bool() const;
68 
69  bool IsValid();
70 
71  void Append(SBTypeEnumMember entry);
72 
73  SBTypeEnumMember GetTypeEnumMemberAtIndex(uint32_t index);
74 
75  uint32_t GetSize();
76 
77 private:
78  std::unique_ptr<lldb_private::TypeEnumMemberListImpl> m_opaque_up;
79 };
80 
81 } // namespace lldb
82 
83 #endif // LLDB_SBTypeEnumMember_h_
lldb::TypeEnumMemberImplSP m_opaque_sp
class LLDB_API SBTypeEnumMemberList
Definition: SBDefines.h:81
#define LLDB_API
Definition: lldb-defines.h:23
Definition: SBAddress.h:15
class LLDB_API SBTypeEnumMember
Definition: SBDefines.h:80