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

Method generateStruct

generator/VideoHppGenerator.cpp:303–338  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

301}
302
303std::string VideoHppGenerator::generateStruct( std::pair<std::string, StructureData> const & structData ) const
304{
305 static std::string const structureTemplate = R"( struct ${structureType}
306 {
307 using NativeType = StdVideo${structureType};
308
309 operator StdVideo${structureType} const &() const VULKAN_HPP_NOEXCEPT
310 {
311 return *reinterpret_cast<const StdVideo${structureType}*>( this );
312 }
313
314 operator StdVideo${structureType} &() VULKAN_HPP_NOEXCEPT
315 {
316 return *reinterpret_cast<StdVideo${structureType}*>( this );
317 }
318
319 operator StdVideo${structureType} const *() const VULKAN_HPP_NOEXCEPT
320 {
321 return reinterpret_cast<const StdVideo${structureType}*>( this );
322 }
323
324 operator StdVideo${structureType} *() VULKAN_HPP_NOEXCEPT
325 {
326 return reinterpret_cast<StdVideo${structureType}*>( this );
327 }
328${compareOperators}
329 public:
330${members}
331 };
332)";
333
334 return replaceWithMap( structureTemplate,
335 { { "compareOperators", generateStructCompareOperators( structData ) },
336 { "members", generateStructMembers( structData ) },
337 { "structureType", stripPrefix( structData.first, "StdVideo" ) } } );
338}
339
340std::string VideoHppGenerator::generateStructCompareOperators( std::pair<std::string, StructureData> const & structData ) const
341{

Callers

nothing calls this directly

Calls 2

replaceWithMapFunction · 0.85
stripPrefixFunction · 0.85

Tested by

no test coverage detected