object: style

This commit is contained in:
Danny Robson 2017-09-08 18:10:57 +10:00
parent efd79aa5ff
commit 7239fb26bf

View File

@ -49,6 +49,7 @@ namespace cruft::vk {
}; };
///////////////////////////////////////////////////////////////////////////
template <typename SelfT> template <typename SelfT>
struct root : public object<SelfT> { struct root : public object<SelfT> {
template <typename ...Args> template <typename ...Args>
@ -68,6 +69,7 @@ namespace cruft::vk {
}; };
///////////////////////////////////////////////////////////////////////////
/// a vulkan object that must be directly instantiated through /// a vulkan object that must be directly instantiated through
/// constructor arguments, rather than being enumerated and owned by /// constructor arguments, rather than being enumerated and owned by
/// another object. /// another object.
@ -93,6 +95,7 @@ namespace cruft::vk {
}; };
///////////////////////////////////////////////////////////////////////////
/// a vulkan object that is obtained by listings from a parent object. /// a vulkan object that is obtained by listings from a parent object.
template <typename SelfT> template <typename SelfT>
struct enumerated : public object<SelfT> { struct enumerated : public object<SelfT> {
@ -103,6 +106,7 @@ namespace cruft::vk {
}; };
///////////////////////////////////////////////////////////////////////////
/// a vulkan object that is directly owned by a parent object. /// a vulkan object that is directly owned by a parent object.
/// ///
/// typically implies that this object must be freed using a reference to /// typically implies that this object must be freed using a reference to
@ -149,6 +153,7 @@ namespace cruft::vk {
}; };
///////////////////////////////////////////////////////////////////////////
template <typename SelfT, typename OwnerT, typename ...Args> template <typename SelfT, typename OwnerT, typename ...Args>
auto auto
make_owned (OwnerT &owner, Args &&...args) make_owned (OwnerT &owner, Args &&...args)