ADTF
Loading...
Searching...
No Matches
reference_counted_object_intf.h
Go to the documentation of this file.
1
16
17#ifndef A_UTIL_UTIL_RESULT_DETAIL_REFERENCE_COUNTED_OBJECT_INTERFACE_HEADER_INCLUDED
18#define A_UTIL_UTIL_RESULT_DETAIL_REFERENCE_COUNTED_OBJECT_INTERFACE_HEADER_INCLUDED
19
20namespace a_util {
21namespace result {
22namespace detail {
28template <typename Resource /*e.g. a_util::result::detail::IErrorDescription*/>
30public:
32 virtual void addReference() const = 0;
34 virtual void removeReference() const = 0;
35
40 virtual Resource& getObject() = 0;
41
46 virtual const Resource& getObject() const = 0;
47
48protected:
53}; // template <typename Resource> class ReferenceCountedObjectInterface
54
55} // namespace detail
56} // namespace result
57} // namespace a_util
58
59#endif // A_UTIL_UTIL_RESULT_DETAIL_REFERENCE_COUNTED_OBJECT_INTERFACE_HEADER_INCLUDED
Definition reference_counted_object_intf.h:29
virtual void addReference() const =0
Increase the reference count.
virtual const Resource & getObject() const =0
virtual void removeReference() const =0
Decrease the reference count.
~ReferenceCountedObjectInterface()
DTOR.
Definition reference_counted_object_intf.h:50
Serves as namespace for result implementation details.
Definition result.h:22
Serves as component for functionality handling error and return types.
Definition result.h:20
Serves as the root component, with common functionality documented in core functionality.
Definition base.h:24