Merge pull request #789 from asuessenbach/StructureChain

Introduce default template type for functions StructureChain::get<T,Which>
This commit is contained in:
Andreas Süßenbach 2020-10-21 08:47:26 +02:00 committed by GitHub
commit 3dce283fa7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 4 additions and 4 deletions

View File

@ -10824,13 +10824,13 @@ int main( int argc, char ** argv )
StructureChain & operator=( StructureChain && rhs ) = delete; StructureChain & operator=( StructureChain && rhs ) = delete;
template <typename T, size_t Which = 0> template <typename T = typename std::tuple_element<0, std::tuple<ChainElements...>>::type, size_t Which = 0>
T & get() VULKAN_HPP_NOEXCEPT T & get() VULKAN_HPP_NOEXCEPT
{ {
return std::get<ChainElementIndex<0, T, Which, void, ChainElements...>::value>( static_cast<std::tuple<ChainElements...>&>( *this ) ); return std::get<ChainElementIndex<0, T, Which, void, ChainElements...>::value>( static_cast<std::tuple<ChainElements...>&>( *this ) );
} }
template <typename T, size_t Which = 0> template <typename T = typename std::tuple_element<0, std::tuple<ChainElements...>>::type, size_t Which = 0>
T const & get() const VULKAN_HPP_NOEXCEPT T const & get() const VULKAN_HPP_NOEXCEPT
{ {
return std::get<ChainElementIndex<0, T, Which, void, ChainElements...>::value>( static_cast<std::tuple<ChainElements...>&>( *this ) ); return std::get<ChainElementIndex<0, T, Which, void, ChainElements...>::value>( static_cast<std::tuple<ChainElements...>&>( *this ) );

View File

@ -970,14 +970,14 @@ namespace VULKAN_HPP_NAMESPACE
StructureChain & operator=( StructureChain && rhs ) = delete; StructureChain & operator=( StructureChain && rhs ) = delete;
template <typename T, size_t Which = 0> template <typename T = typename std::tuple_element<0, std::tuple<ChainElements...>>::type, size_t Which = 0>
T & get() VULKAN_HPP_NOEXCEPT T & get() VULKAN_HPP_NOEXCEPT
{ {
return std::get<ChainElementIndex<0, T, Which, void, ChainElements...>::value>( return std::get<ChainElementIndex<0, T, Which, void, ChainElements...>::value>(
static_cast<std::tuple<ChainElements...> &>( *this ) ); static_cast<std::tuple<ChainElements...> &>( *this ) );
} }
template <typename T, size_t Which = 0> template <typename T = typename std::tuple_element<0, std::tuple<ChainElements...>>::type, size_t Which = 0>
T const & get() const VULKAN_HPP_NOEXCEPT T const & get() const VULKAN_HPP_NOEXCEPT
{ {
return std::get<ChainElementIndex<0, T, Which, void, ChainElements...>::value>( return std::get<ChainElementIndex<0, T, Which, void, ChainElements...>::value>(