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_API_SBTYPEENUMMEMBER_H
11 #define LLDB_API_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 
66 
67  explicit operator bool() const;
68 
69  bool IsValid();
70 
71  void Append(SBTypeEnumMember entry);
72 
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_API_SBTYPEENUMMEMBER_H
lldb_private::TypeEnumMemberImpl
Definition: Type.h:472
SBDefines.h
lldb::SBTypeEnumMemberList
Definition: SBTypeEnumMember.h:57
LLDB_API
#define LLDB_API
Definition: lldb-defines.h:23
lldb::SBTypeEnumMemberList::m_opaque_up
std::unique_ptr< lldb_private::TypeEnumMemberListImpl > m_opaque_up
Definition: SBTypeEnumMember.h:78
lldb::SBTypeEnumMemberList::operator=
SBTypeEnumMemberList & operator=(const SBTypeEnumMemberList &rhs)
Definition: SBTypeEnumMember.cpp:137
lldb::SBTypeEnumMemberList::IsValid
bool IsValid()
Definition: SBTypeEnumMember.cpp:126
lldb::SBTypeEnumMemberList::GetTypeEnumMemberAtIndex
SBTypeEnumMember GetTypeEnumMemberAtIndex(uint32_t index)
Definition: SBTypeEnumMember.cpp:163
GetName
static llvm::StringRef GetName(XcodeSDK::Type type)
Definition: XcodeSDK.cpp:21
lldb::SBTypeEnumMember
class LLDB_API SBTypeEnumMember
Definition: SBDefines.h:81
lldb::SBType
Definition: SBType.h:104
lldb::SBTypeEnumMemberList::Append
void Append(SBTypeEnumMember entry)
Definition: SBTypeEnumMember.cpp:154
uint32_t
lldb::SBTypeEnumMemberList::~SBTypeEnumMemberList
~SBTypeEnumMemberList()
lldb::SBTypeEnumMemberList::SBTypeEnumMemberList
SBTypeEnumMemberList()
Definition: SBTypeEnumMember.cpp:110
lldb::SBTypeEnumMember::m_opaque_sp
lldb::TypeEnumMemberImplSP m_opaque_sp
Definition: SBTypeEnumMember.h:52
lldb::SBTypeEnumMemberList::GetSize
uint32_t GetSize()
Definition: SBTypeEnumMember.cpp:173
lldb::SBStream
Definition: SBStream.h:18
lldb
Definition: SBAddress.h:15
lldb::SBTypeEnumMember
Definition: SBTypeEnumMember.h:17
lldb::DescriptionLevel
DescriptionLevel
Description levels for "void GetDescription(Stream *, DescriptionLevel)" calls.
Definition: lldb-enumerations.h:207