| 13015 | } |
| 13016 | |
| 13017 | std::pair<bool, std::map<size_t, std::vector<size_t>>> VulkanHppGenerator::needsVectorSizeCheck( std::vector<ParamData> const & params, |
| 13018 | std::map<size_t, VectorParamData> const & vectorParams, |
| 13019 | std::vector<size_t> const & returnParams, |
| 13020 | std::set<size_t> const & singularParams, |
| 13021 | std::set<size_t> const & skippedParams ) const |
| 13022 | { |
| 13023 | std::map<size_t, std::vector<size_t>> countToVectorMap; |
| 13024 | for ( auto const & vpi : vectorParams ) |
| 13025 | { |
| 13026 | if ( ( vpi.second.lenParam != INVALID_INDEX ) && std::ranges::none_of( returnParams, [&vpi]( size_t rp ) { return rp == vpi.first; } ) && |
| 13027 | ( !singularParams.contains( vpi.second.lenParam ) || isLenByStructMember( params[vpi.first].lenExpression, params[vpi.second.lenParam] ) ) ) |
| 13028 | { |
| 13029 | countToVectorMap[vpi.second.lenParam].push_back( vpi.first ); |
| 13030 | } |
| 13031 | } |
| 13032 | return { std::ranges::any_of( countToVectorMap, |
| 13033 | [this, ¶ms, &skippedParams]( auto const & cvm ) |
| 13034 | { |
| 13035 | return ( 1 < cvm.second.size() ) || isLenByStructMember( params[cvm.second[0]].lenExpression, params[cvm.first] ) || |
| 13036 | std::ranges::none_of( params[cvm.second[0]].lenParams, |
| 13037 | [&skippedParams]( std::pair<std::string, size_t> const & lenParam ) |
| 13038 | { return skippedParams.contains( lenParam.second ); } ); |
| 13039 | } ), |
| 13040 | countToVectorMap }; |
| 13041 | } |
| 13042 | |
| 13043 | std::string VulkanHppGenerator::readComment( tinyxml2::XMLElement const * element ) const |
| 13044 | { |
nothing calls this directly
no test coverage detected