LLDB  mainline
ModuleChild.h
Go to the documentation of this file.
1 //===-- ModuleChild.h -------------------------------------------*- C++ -*-===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 
9 #ifndef LLDB_CORE_MODULECHILD_H
10 #define LLDB_CORE_MODULECHILD_H
11 
12 #include "lldb/lldb-forward.h"
13 
14 namespace lldb_private {
15 
16 /// \class ModuleChild ModuleChild.h "lldb/Core/ModuleChild.h"
17 /// A mix in class that contains a pointer back to the module
18 /// that owns the object which inherits from it.
19 class ModuleChild {
20 public:
21  /// Construct with owning module.
22  ///
23  /// \param[in] module_sp
24  /// The module that owns the object that inherits from this
25  /// class.
26  ModuleChild(const lldb::ModuleSP &module_sp);
27 
28  /// Destructor.
29  ~ModuleChild();
30 
31  /// Assignment operator.
32  ///
33  /// \param[in] rhs
34  /// A const ModuleChild class reference to copy.
35  ///
36  /// \return
37  /// A const reference to this object.
38  const ModuleChild &operator=(const ModuleChild &rhs);
39 
40  /// Get const accessor for the module pointer.
41  ///
42  /// \return
43  /// A const pointer to the module that owns the object that
44  /// inherits from this class.
45  lldb::ModuleSP GetModule() const;
46 
47  /// Set accessor for the module pointer.
48  ///
49  /// \param[in] module_sp
50  /// A new module that owns the object that inherits from this
51  /// class.
52  void SetModule(const lldb::ModuleSP &module_sp);
53 
54 protected:
55  /// The Module that owns the object that inherits from this class.
56  lldb::ModuleWP m_module_wp;
57 };
58 
59 } // namespace lldb_private
60 
61 #endif // LLDB_CORE_MODULECHILD_H
const ModuleChild & operator=(const ModuleChild &rhs)
Assignment operator.
Definition: ModuleChild.cpp:18
~ModuleChild()
Destructor.
Definition: ModuleChild.cpp:16
A class that represents a running process on the host machine.
lldb::ModuleWP m_module_wp
The Module that owns the object that inherits from this class.
Definition: ModuleChild.h:56
lldb::ModuleSP GetModule() const
Get const accessor for the module pointer.
Definition: ModuleChild.cpp:24
void SetModule(const lldb::ModuleSP &module_sp)
Set accessor for the module pointer.
Definition: ModuleChild.cpp:26
ModuleChild(const lldb::ModuleSP &module_sp)
Construct with owning module.
Definition: ModuleChild.cpp:13
A mix in class that contains a pointer back to the module that owns the object which inherits from it...
Definition: ModuleChild.h:19