Skip to content

Commit 6735563

Browse files
committed
Merge ResultValue with specializations
1 parent 66cbdb4 commit 6735563

File tree

2 files changed

+10
-122
lines changed

2 files changed

+10
-122
lines changed

snippets/ResultValue.hpp

Lines changed: 5 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,11 @@
2727
return std::tuple<Result &, T &>( result, value );
2828
}
2929

30+
std::tuple<Result, T> asTuple() &&
31+
{
32+
return std::make_tuple( result, std::move( value ) );
33+
}
34+
3035
// std::expected-look alike
3136
bool has_value() const VULKAN_HPP_NOEXCEPT
3237
{
@@ -58,66 +63,6 @@
5863
}
5964
};
6065

61-
#if !defined( VULKAN_HPP_NO_SMART_HANDLE )
62-
template <typename Type, typename Dispatch>
63-
struct ResultValue<UniqueHandle<Type, Dispatch>>
64-
{
65-
#ifdef VULKAN_HPP_HAS_NOEXCEPT
66-
ResultValue(Result r, UniqueHandle<Type, Dispatch> && v) VULKAN_HPP_NOEXCEPT
67-
#else
68-
ResultValue(Result r, UniqueHandle<Type, Dispatch> && v)
69-
#endif
70-
: result(r)
71-
, value(std::move(v))
72-
{}
73-
74-
VULKAN_HPP_DEPRECATED(
75-
"asTuple() on an l-value is deprecated, as it implicitly moves the UniqueHandle out of the ResultValue. Use asTuple() on an r-value instead, requiring to explicitly move the UniqueHandle." )
76-
std::tuple<Result, UniqueHandle<Type, Dispatch>>
77-
asTuple() &
78-
{
79-
return std::make_tuple( result, std::move( value ) );
80-
}
81-
82-
std::tuple<Result, UniqueHandle<Type, Dispatch>> asTuple() &&
83-
{
84-
return std::make_tuple( result, std::move( value ) );
85-
}
86-
87-
Result result;
88-
UniqueHandle<Type, Dispatch> value;
89-
};
90-
91-
template <typename Type, typename Dispatch>
92-
struct ResultValue<std::vector<UniqueHandle<Type, Dispatch>>>
93-
{
94-
# ifdef VULKAN_HPP_HAS_NOEXCEPT
95-
ResultValue( Result r, std::vector<UniqueHandle<Type, Dispatch>> && v ) VULKAN_HPP_NOEXCEPT
96-
# else
97-
ResultValue( Result r, std::vector<UniqueHandle<Type, Dispatch>> && v )
98-
# endif
99-
: result( r )
100-
, value( std::move( v ) )
101-
{}
102-
103-
VULKAN_HPP_DEPRECATED(
104-
"asTuple() on an l-value is deprecated, as it implicitly moves the UniqueHandle out of the ResultValue. Use asTuple() on an r-value instead, requiring to explicitly move the UniqueHandle." )
105-
std::tuple<Result, std::vector<UniqueHandle<Type, Dispatch>>>
106-
asTuple() &
107-
{
108-
return std::make_tuple( result, std::move( value ) );
109-
}
110-
111-
std::tuple<Result, std::vector<UniqueHandle<Type, Dispatch>>> asTuple() &&
112-
{
113-
return std::make_tuple( result, std::move( value ) );
114-
}
115-
116-
Result result;
117-
std::vector<UniqueHandle<Type, Dispatch>> value;
118-
};
119-
#endif
120-
12166
template <typename T>
12267
struct ResultValueType
12368
{

vulkan/vulkan.hpp

Lines changed: 5 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -8552,6 +8552,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE
85528552
return std::tuple<Result &, T &>( result, value );
85538553
}
85548554

8555+
std::tuple<Result, T> asTuple() &&
8556+
{
8557+
return std::make_tuple( result, std::move( value ) );
8558+
}
8559+
85558560
// std::expected-look alike
85568561
bool has_value() const VULKAN_HPP_NOEXCEPT
85578562
{
@@ -8583,68 +8588,6 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE
85838588
}
85848589
};
85858590

8586-
#if !defined( VULKAN_HPP_NO_SMART_HANDLE )
8587-
template <typename Type, typename Dispatch>
8588-
struct ResultValue<UniqueHandle<Type, Dispatch>>
8589-
{
8590-
# ifdef VULKAN_HPP_HAS_NOEXCEPT
8591-
ResultValue( Result r, UniqueHandle<Type, Dispatch> && v ) VULKAN_HPP_NOEXCEPT
8592-
# else
8593-
ResultValue( Result r, UniqueHandle<Type, Dispatch> && v )
8594-
# endif
8595-
: result( r )
8596-
, value( std::move( v ) )
8597-
{
8598-
}
8599-
8600-
VULKAN_HPP_DEPRECATED(
8601-
"asTuple() on an l-value is deprecated, as it implicitly moves the UniqueHandle out of the ResultValue. Use asTuple() on an r-value instead, requiring to explicitly move the UniqueHandle." )
8602-
8603-
std::tuple<Result, UniqueHandle<Type, Dispatch>> asTuple() &
8604-
{
8605-
return std::make_tuple( result, std::move( value ) );
8606-
}
8607-
8608-
std::tuple<Result, UniqueHandle<Type, Dispatch>> asTuple() &&
8609-
{
8610-
return std::make_tuple( result, std::move( value ) );
8611-
}
8612-
8613-
Result result;
8614-
UniqueHandle<Type, Dispatch> value;
8615-
};
8616-
8617-
template <typename Type, typename Dispatch>
8618-
struct ResultValue<std::vector<UniqueHandle<Type, Dispatch>>>
8619-
{
8620-
# ifdef VULKAN_HPP_HAS_NOEXCEPT
8621-
ResultValue( Result r, std::vector<UniqueHandle<Type, Dispatch>> && v ) VULKAN_HPP_NOEXCEPT
8622-
# else
8623-
ResultValue( Result r, std::vector<UniqueHandle<Type, Dispatch>> && v )
8624-
# endif
8625-
: result( r )
8626-
, value( std::move( v ) )
8627-
{
8628-
}
8629-
8630-
VULKAN_HPP_DEPRECATED(
8631-
"asTuple() on an l-value is deprecated, as it implicitly moves the UniqueHandle out of the ResultValue. Use asTuple() on an r-value instead, requiring to explicitly move the UniqueHandle." )
8632-
8633-
std::tuple<Result, std::vector<UniqueHandle<Type, Dispatch>>> asTuple() &
8634-
{
8635-
return std::make_tuple( result, std::move( value ) );
8636-
}
8637-
8638-
std::tuple<Result, std::vector<UniqueHandle<Type, Dispatch>>> asTuple() &&
8639-
{
8640-
return std::make_tuple( result, std::move( value ) );
8641-
}
8642-
8643-
Result result;
8644-
std::vector<UniqueHandle<Type, Dispatch>> value;
8645-
};
8646-
#endif
8647-
86488591
template <typename T>
86498592
struct ResultValueType
86508593
{

0 commit comments

Comments
 (0)