Add constructor to Optional<RefType> which accepts a RefType* in addition RefType& and nullptr. This is required since *nullptr is illegal and writing (ptr == nullptr) ? nullptr : *ptr isn't an efficient solution for the problem. (#45)

This commit is contained in:
Markus Tavenrath
2016-11-04 09:14:53 +01:00
committed by Andreas Süßenbach
parent 952667d3c0
commit 3e3c16a0a1
2 changed files with 40 additions and 37 deletions

View File

@@ -208,11 +208,13 @@ namespace vk
return flags ^ bit;
}
template <typename RefType>
class Optional
{
public:
Optional(RefType & reference) { m_ptr = &reference; }
Optional(RefType * ptr) { m_ptr = ptr; }
Optional(std::nullptr_t) { m_ptr = nullptr; }
operator RefType*() const { return m_ptr; }