1 //===-- ModuleChild.h -------------------------------------------*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 #ifndef liblldb_ModuleChild_h_
11 #define liblldb_ModuleChild_h_
13 #include "lldb/lldb-private.h"
15 namespace lldb_private {
17 //----------------------------------------------------------------------
18 /// @class ModuleChild ModuleChild.h "lldb/Core/ModuleChild.h"
19 /// @brief A mix in class that contains a pointer back to the module
20 /// that owns the object which inherits from it.
21 //----------------------------------------------------------------------
25 //------------------------------------------------------------------
26 /// Construct with owning module.
29 /// The module that owns the object that inherits from this
31 //------------------------------------------------------------------
32 ModuleChild (const lldb::ModuleSP &module_sp);
34 //------------------------------------------------------------------
38 /// A const ModuleChild class reference to copy.
39 //------------------------------------------------------------------
40 ModuleChild (const ModuleChild& rhs);
42 //------------------------------------------------------------------
44 //------------------------------------------------------------------
47 //------------------------------------------------------------------
48 /// Assignment operator.
51 /// A const ModuleChild class reference to copy.
54 /// A const reference to this object.
55 //------------------------------------------------------------------
57 operator= (const ModuleChild& rhs);
59 //------------------------------------------------------------------
60 /// Get const accessor for the module pointer.
63 /// A const pointer to the module that owns the object that
64 /// inherits from this class.
65 //------------------------------------------------------------------
69 //------------------------------------------------------------------
70 /// Set accessor for the module pointer.
73 /// A new module that owns the object that inherits from this
75 //------------------------------------------------------------------
77 SetModule (const lldb::ModuleSP &module_sp);
80 //------------------------------------------------------------------
82 //------------------------------------------------------------------
83 lldb::ModuleWP m_module_wp; ///< The Module that owns the object that inherits
87 } // namespace lldb_private
90 #endif // liblldb_ModuleChild_h_