template<class T>
class Aws::Crt::RefCounted< T >
Inherit from RefCounted to allow reference-counting from C code, which will keep your C++ object alive as long as the count is non-zero.
A class must inherit from RefCounted and std::enable_shared_from_this. Your class must always be placed inside a shared_ptr (do not create on the stack, or keep on the heap as a raw pointer).
Whenever the reference count goes from 0 to 1 a shared_ptr is created internally to keep this object alive. Whenever the reference count goes from 1 to 0 the internal shared_ptr is reset, allowing this object to be destroyed.