virtualbox5: make it compatible to C++20

Fixes #4871
This commit is contained in:
Alexander Boettcher
2023-05-16 08:49:25 +02:00
committed by Christian Helmuth
parent bfecea9001
commit 37735d84d9
2 changed files with 8 additions and 8 deletions

View File

@ -164,7 +164,7 @@ class Shareable
public: public:
Shareable<T> () : _verbose(false), _obj(nullptr) { } Shareable() : _verbose(false), _obj(nullptr) { }
/* operators */ /* operators */
T * operator->() const { if (_verbose) Genode::log(__PRETTY_FUNCTION__, " called"); return _obj; } T * operator->() const { if (_verbose) Genode::log(__PRETTY_FUNCTION__, " called"); return _obj; }

View File

@ -14,20 +14,20 @@ class ComPtr {
public: public:
ComPtr<T> () : _obj(nullptr) { } ComPtr() : _obj(nullptr) { }
/* copy constructor */ /* copy constructor */
ComPtr<T> (T *obj) : _obj(obj) { } ComPtr(T *obj) : _obj(obj) { }
template<typename X> template<typename X>
ComPtr<T> (X *obj) : _obj(dynamic_cast<T*>(obj)) ComPtr(X *obj) : _obj(dynamic_cast<T*>(obj))
{ {
if (!_obj) if (!_obj)
Genode::log(__func__, ": dynamic cast failed"); Genode::log(__func__, ": dynamic cast failed");
} }
template <class T2> template <class T2>
ComPtr<T>(const ComPtr<T2> &that) : ComPtr<T>((T2*)that) { } ComPtr(const ComPtr<T2> &that) : ComPtr<T>((T2*)that) { }
/* operators */ /* operators */
T * operator->() const { return _obj; } T * operator->() const { return _obj; }
@ -80,10 +80,10 @@ class ComObjPtr : public ComPtr<T> {
public: public:
ComObjPtr<T> () : ComPtr<T>() { } ComObjPtr() : ComPtr<T>() { }
/* copy constructor */ /* copy constructor */
ComObjPtr<T> (T *obj) : ComPtr<T>(obj) { } ComObjPtr(T *obj) : ComPtr<T>(obj) { }
HRESULT createObject() HRESULT createObject()
{ {