Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-05-10 08:42:42

0001 //===-- SBFormat.h ----------------------------------------------*- C++ -*-===//
0002 //
0003 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
0004 // See https://llvm.org/LICENSE.txt for license information.
0005 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
0006 //
0007 //===----------------------------------------------------------------------===//
0008 
0009 #ifndef LLDB_API_SBFORMAT_H
0010 #define LLDB_API_SBFORMAT_H
0011 
0012 #include "lldb/API/SBDefines.h"
0013 
0014 namespace lldb_private {
0015 namespace python {
0016 class SWIGBridge;
0017 } // namespace python
0018 namespace lua {
0019 class SWIGBridge;
0020 } // namespace lua
0021 } // namespace lldb_private
0022 
0023 namespace lldb {
0024 
0025 /// Class that represents a format string that can be used to generate
0026 /// descriptions of objects like frames and threads. See
0027 /// https://lldb.llvm.org/use/formatting.html for more information.
0028 class LLDB_API SBFormat {
0029 public:
0030   SBFormat();
0031 
0032   /// Create an \a SBFormat by parsing the given format string. If parsing
0033   /// fails, this object is initialized as invalid.
0034   ///
0035   /// \param[in] format
0036   ///   The format string to parse.
0037   ///
0038   /// \param[out] error
0039   ///   An object where error messages will be written to if parsing fails.
0040   SBFormat(const char *format, lldb::SBError &error);
0041 
0042   SBFormat(const lldb::SBFormat &rhs);
0043 
0044   lldb::SBFormat &operator=(const lldb::SBFormat &rhs);
0045 
0046   ~SBFormat();
0047 
0048   /// \return
0049   ///   \b true if and only if this object is valid and can be used for
0050   ///   formatting.
0051   explicit operator bool() const;
0052 
0053 protected:
0054   friend class SBFrame;
0055   friend class SBThread;
0056 
0057   /// \return
0058   ///   The underlying shared pointer storage for this object.
0059   lldb::FormatEntrySP GetFormatEntrySP() const;
0060 
0061   /// The storage for this object.
0062   lldb::FormatEntrySP m_opaque_sp;
0063 };
0064 
0065 } // namespace lldb
0066 #endif // LLDB_API_SBFORMAT_H