]> CyberLeo.Net >> Repos - FreeBSD/releng/10.0.git/blob - contrib/llvm/tools/lldb/include/lldb/API/SBTypeFormat.h
- Copy stable/10 (r259064) to releng/10.0 as part of the
[FreeBSD/releng/10.0.git] / contrib / llvm / tools / lldb / include / lldb / API / SBTypeFormat.h
1 //===-- SBTypeFormat.h --------------------------------------------*- C++ -*-===//
2 //
3 //                     The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9
10 #ifndef LLDB_SBTypeFormat_h_
11 #define LLDB_SBTypeFormat_h_
12
13 #include "lldb/API/SBDefines.h"
14
15 namespace lldb {
16
17 class SBTypeFormat
18 {
19 public:
20     
21     SBTypeFormat();
22     
23     SBTypeFormat (lldb::Format format,
24                   uint32_t options = 0); // see lldb::eTypeOption values
25     
26     SBTypeFormat (const lldb::SBTypeFormat &rhs);
27     
28     ~SBTypeFormat ();
29     
30     bool
31     IsValid() const;
32     
33     lldb::Format
34     GetFormat ();
35     
36     uint32_t
37     GetOptions();
38     
39     void
40     SetFormat (lldb::Format);
41     
42     void
43     SetOptions (uint32_t);
44     
45     bool
46     GetDescription (lldb::SBStream &description, 
47                     lldb::DescriptionLevel description_level);
48     
49     lldb::SBTypeFormat &
50     operator = (const lldb::SBTypeFormat &rhs);
51     
52     bool
53     IsEqualTo (lldb::SBTypeFormat &rhs);
54
55     bool
56     operator == (lldb::SBTypeFormat &rhs);
57     
58     bool
59     operator != (lldb::SBTypeFormat &rhs);
60     
61 protected:
62     friend class SBDebugger;
63     friend class SBTypeCategory;
64     friend class SBValue;
65     
66     lldb::TypeFormatImplSP
67     GetSP ();
68     
69     void
70     SetSP (const lldb::TypeFormatImplSP &typeformat_impl_sp);    
71     
72     lldb::TypeFormatImplSP m_opaque_sp;
73     
74     SBTypeFormat (const lldb::TypeFormatImplSP &);
75     
76     bool
77     CopyOnWrite_Impl();
78     
79 };
80
81     
82 } // namespace lldb
83
84 #endif // LLDB_SBTypeFormat_h_