Loading...
Searching...
No Matches
component.h
1
5#pragma once
6
7#include <memory>
8
9namespace ucxx {
10
11namespace detail {
12class ConstructorFactory;
13}
14
21class Component : public std::enable_shared_from_this<Component> {
22 protected:
23 std::shared_ptr<Component> _parent{nullptr};
24
25 public:
26 virtual ~Component();
27
35 void setParent(std::shared_ptr<Component> parent);
36
44 [[nodiscard]] std::shared_ptr<Component> getParent() const;
45};
46
47} // namespace ucxx
A UCXX component class to prevent early destruction of parent object.
Definition component.h:21
void setParent(std::shared_ptr< Component > parent)
Set the internal parent reference.
std::shared_ptr< Component > _parent
A reference-counted pointer to the parent.
Definition component.h:23
std::shared_ptr< Component > getParent() const
Get the internal parent reference.
Definition address.h:16