Fixes for dereference operator.
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
This commit is contained in:
parent
c08224ed26
commit
d3c9998afa
|
@ -29,13 +29,10 @@ namespace ArbUt {
|
|||
AssertNotNull(_raw);
|
||||
return _raw;
|
||||
}
|
||||
inline T operator*() const {
|
||||
if constexpr (std::is_abstract<T>()) {
|
||||
static_assert(!std::is_abstract<T>(), "You're not allowed to dereference an abstract class.");
|
||||
} else {
|
||||
AssertNotNull(_raw);
|
||||
return *_raw;
|
||||
}
|
||||
|
||||
inline typename std::enable_if<!std::is_abstract<T>::value, bool>::type operator*() const {
|
||||
AssertNotNull(_raw);
|
||||
return *_raw;
|
||||
}
|
||||
|
||||
inline T* GetRaw() const noexcept { return _raw; }
|
||||
|
|
Loading…
Reference in New Issue