File indexing completed on 2026-05-10 08:42:43
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010 #ifndef LLDB_API_SBTYPEENUMMEMBER_H
0011 #define LLDB_API_SBTYPEENUMMEMBER_H
0012
0013 #include "lldb/API/SBDefines.h"
0014
0015 namespace lldb {
0016
0017 class LLDB_API SBTypeEnumMember {
0018 public:
0019 SBTypeEnumMember();
0020
0021 SBTypeEnumMember(const SBTypeEnumMember &rhs);
0022
0023 ~SBTypeEnumMember();
0024
0025 SBTypeEnumMember &operator=(const SBTypeEnumMember &rhs);
0026
0027 explicit operator bool() const;
0028
0029 bool IsValid() const;
0030
0031 int64_t GetValueAsSigned();
0032
0033 uint64_t GetValueAsUnsigned();
0034
0035 const char *GetName();
0036
0037 lldb::SBType GetType();
0038
0039 bool GetDescription(lldb::SBStream &description,
0040 lldb::DescriptionLevel description_level);
0041
0042 protected:
0043 friend class SBType;
0044 friend class SBTypeEnumMemberList;
0045
0046 void reset(lldb_private::TypeEnumMemberImpl *);
0047
0048 lldb_private::TypeEnumMemberImpl &ref();
0049
0050 const lldb_private::TypeEnumMemberImpl &ref() const;
0051
0052 lldb::TypeEnumMemberImplSP m_opaque_sp;
0053
0054 SBTypeEnumMember(const lldb::TypeEnumMemberImplSP &);
0055 };
0056
0057 class SBTypeEnumMemberList {
0058 public:
0059 SBTypeEnumMemberList();
0060
0061 SBTypeEnumMemberList(const SBTypeEnumMemberList &rhs);
0062
0063 ~SBTypeEnumMemberList();
0064
0065 SBTypeEnumMemberList &operator=(const SBTypeEnumMemberList &rhs);
0066
0067 explicit operator bool() const;
0068
0069 bool IsValid();
0070
0071 void Append(SBTypeEnumMember entry);
0072
0073 SBTypeEnumMember GetTypeEnumMemberAtIndex(uint32_t index);
0074
0075 uint32_t GetSize();
0076
0077 private:
0078 std::unique_ptr<lldb_private::TypeEnumMemberListImpl> m_opaque_up;
0079 };
0080
0081 }
0082
0083 #endif