Intended only for `enum class Result`!
| 9848 | |
| 9849 | // Intended only for `enum class Result`! |
| 9850 | std::string VulkanHppGenerator::generateResultExceptions() const |
| 9851 | { |
| 9852 | std::string const templateString = R"( |
| 9853 | ${enter} class ${className} : public SystemError |
| 9854 | { |
| 9855 | public: |
| 9856 | ${className}( std::string const & message ) |
| 9857 | : SystemError( make_error_code( ${enumName}::${enumMemberName} ), message ) {} |
| 9858 | ${className}( char const * message ) |
| 9859 | : SystemError( make_error_code( ${enumName}::${enumMemberName} ), message ) {} |
| 9860 | }; |
| 9861 | ${leave})"; |
| 9862 | |
| 9863 | std::string str; |
| 9864 | auto enumIt = m_enums.find( "VkResult" ); |
| 9865 | for ( auto const & value : enumIt->second.values ) |
| 9866 | { |
| 9867 | if ( value.supported && value.name.starts_with( "VK_ERROR" ) ) |
| 9868 | { |
| 9869 | auto [enter, leave] = generateProtection( value.protect ); |
| 9870 | std::string valueName = generateEnumValueName( enumIt->first, value.name, false ); |
| 9871 | str += replaceWithMap( templateString, |
| 9872 | { { "className", stripPrefix( valueName, "eError" ) + "Error" }, |
| 9873 | { "enter", enter }, |
| 9874 | { "enumName", stripPrefix( enumIt->first, "Vk" ) }, |
| 9875 | { "enumMemberName", valueName }, |
| 9876 | { "leave", leave } } ); |
| 9877 | } |
| 9878 | } |
| 9879 | return str; |
| 9880 | } |
| 9881 | |
| 9882 | std::string VulkanHppGenerator::generateReturnDataType( std::map<size_t, VectorParamData> const & vectorParams, |
| 9883 | std::vector<size_t> const & returnParams, |
nothing calls this directly
no test coverage detected