class RefBase
{
public:
- ~RefBase (void);
+ ~RefBase (void);
- inline const T& get (void) const throw() { return m_data.object; }
- inline const T& operator* (void) const throw() { return get(); }
- inline operator bool (void) const throw() { return !!get(); }
+ inline const T& get (void) const throw() { return m_data.object; }
+ inline const T& operator* (void) const throw() { return get(); }
+ inline explicit operator bool (void) const throw() { return !!get(); }
protected:
- RefBase (RefData<T> data) : m_data(data) {}
+ RefBase (RefData<T> data) : m_data(data) {}
- void reset (void); //!< Release previous object, set to null.
- RefData<T> disown (void) throw(); //!< Disown and return object (ownership transferred to caller).
- void assign (RefData<T> data); //!< Set new pointer, release previous pointer.
+ void reset (void); //!< Release previous object, set to null.
+ RefData<T> disown (void) throw(); //!< Disown and return object (ownership transferred to caller).
+ void assign (RefData<T> data); //!< Set new pointer, release previous pointer.
private:
RefData<T> m_data;
VkPipelineLibraryCreateInfoKHR linkingInfo = makePipelineLibraryCreateInfo(pipelinesToLink);
VkGraphicsPipelineCreateInfo finalPipelineInfo = initVulkanStructure();
- finalPipelineInfo.layout = layout;
+ finalPipelineInfo.layout = *layout;
appendStructurePtrToVulkanChain(&finalPipelineInfo.pNext, &linkingInfo);