LLDB API Documentation

SBTypeEnumMember.h
Go to the documentation of this file.
1 
2 //===-- SBTypeEnumMember.h --------------------------------------*- C++ -*-===//
3 //
4 // The LLVM Compiler Infrastructure
5 //
6 // This file is distributed under the University of Illinois Open Source
7 // License. See LICENSE.TXT for details.
8 //
9 //===----------------------------------------------------------------------===//
10 
11 #ifndef LLDB_SBTypeEnumMember_h_
12 #define LLDB_SBTypeEnumMember_h_
13 
14 #include "lldb/API/SBDefines.h"
15 
16 namespace lldb {
17 
18 class LLDB_API SBTypeEnumMember {
19 public:
21 
23 
25 
26  SBTypeEnumMember &operator=(const SBTypeEnumMember &rhs);
27 
28  bool IsValid() const;
29 
30  int64_t GetValueAsSigned();
31 
32  uint64_t GetValueAsUnsigned();
33 
34  const char *GetName();
35 
36  lldb::SBType GetType();
37 
38  bool GetDescription(lldb::SBStream &description,
39  lldb::DescriptionLevel description_level);
40 
41 protected:
42  friend class SBType;
43  friend class SBTypeEnumMemberList;
44 
45  void reset(lldb_private::TypeEnumMemberImpl *);
46 
47  lldb_private::TypeEnumMemberImpl &ref();
48 
49  const lldb_private::TypeEnumMemberImpl &ref() const;
50 
51  lldb::TypeEnumMemberImplSP m_opaque_sp;
52 
53  SBTypeEnumMember(const lldb::TypeEnumMemberImplSP &);
54 };
55 
57 public:
59 
61 
63 
65 
66  bool IsValid();
67 
68  void Append(SBTypeEnumMember entry);
69 
71 
72  uint32_t GetSize();
73 
74 private:
75  std::unique_ptr<lldb_private::TypeEnumMemberListImpl> m_opaque_ap;
76 };
77 
78 } // namespace lldb
79 
80 #endif // LLDB_SBTypeEnumMember_h_
void Append(SBTypeEnumMember entry)
lldb::TypeEnumMemberImplSP m_opaque_sp
SBTypeEnumMember GetTypeEnumMemberAtIndex(uint32_t index)
class LLDB_API SBTypeEnumMember
Definition: SBDefines.h:84
SBTypeEnumMemberList & operator=(const SBTypeEnumMemberList &rhs)