MCPcopy Create free account
hub / github.com/KhronosGroup/Vulkan-Hpp / vectorize

Function vectorize

generator/VulkanHppGenerator.cpp:13390–13419  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

13388}
13389
13390std::vector<std::vector<std::string>> vectorize( std::shared_ptr<Node> node )
13391{
13392 if ( node->type == NodeType::VAR )
13393 {
13394 return { { node->value } };
13395 }
13396 else if ( node->type == NodeType::OR )
13397 {
13398 auto left = vectorize( node->left );
13399 auto right = vectorize( node->right );
13400 left.insert( left.end(), right.begin(), right.end() );
13401 return left;
13402 }
13403 else
13404 {
13405 assert( node->type == NodeType::AND );
13406 auto left = vectorize( node->left );
13407 auto right = vectorize( node->right );
13408 std::vector<std::vector<std::string>> result;
13409 for ( auto const & l : left )
13410 {
13411 for ( auto const & r : right )
13412 {
13413 result.push_back( l );
13414 result.back().insert( result.back().end(), r.begin(), r.end() );
13415 }
13416 }
13417 return result;
13418 }
13419}
13420
13421void VulkanHppGenerator::readExtension( tinyxml2::XMLElement const * element )
13422{

Callers 1

readExtensionMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected