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
15namespace lldb {
16
18public:
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
42protected:
43 friend class SBType;
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
58public:
60
62
64
66
67 explicit operator bool() const;
68
69 bool IsValid();
70
71 void Append(SBTypeEnumMember entry);
72
74
76
77private:
78 std::unique_ptr<lldb_private::TypeEnumMemberListImpl> m_opaque_up;
79};
80
81} // namespace lldb
82
83#endif // LLDB_API_SBTYPEENUMMEMBER_H
#define LLDB_API
Definition: SBDefines.h:26
static llvm::StringRef GetName(XcodeSDK::Type type)
Definition: XcodeSDK.cpp:21
std::unique_ptr< lldb_private::TypeEnumMemberListImpl > m_opaque_up
SBTypeEnumMember GetTypeEnumMemberAtIndex(uint32_t index)
SBTypeEnumMemberList & operator=(const SBTypeEnumMemberList &rhs)
void Append(SBTypeEnumMember entry)
lldb::TypeEnumMemberImplSP m_opaque_sp
Definition: SBAddress.h:15
DescriptionLevel
Description levels for "void GetDescription(Stream *, DescriptionLevel)" calls.