vsg 1.1.3
VulkanSceneGraph library
Loading...
Searching...
No Matches
vsg::Inherit< ParentClass, Subclass > Class Template Reference

#include <Inherit.h>

Inheritance diagram for vsg::Inherit< ParentClass, Subclass >:
Collaboration diagram for vsg::Inherit< ParentClass, Subclass >:

Public Member Functions

template<typename... Args>
 Inherit (Args &&... args)
 
std::size_t sizeofObject () const noexcept override
 
const char * className () const noexcept override
 
const std::type_info & type_info () const noexcept override
 
bool is_compatible (const std::type_info &type) const noexcept override
 
int compare (const Object &rhs) const override
 
void accept (Visitor &visitor) override
 
void accept (ConstVisitor &visitor) const override
 
void accept (RecordTraversal &visitor) const override
 

Static Public Member Functions

template<typename... Args>
static ref_ptr< Subclass > create (Args &&... args)
 
template<typename... Args>
static ref_ptr< Subclass > create_if (bool flag, Args &&... args)
 

Detailed Description

template<class ParentClass, class Subclass>
class vsg::Inherit< ParentClass, Subclass >

Inherit<> uses the Curiously Recurring Template Pattern to provide the classes versions of create, accept(..), RTTI and sizeofObject()

Member Function Documentation

◆ accept()

template<class ParentClass , class Subclass >
void vsg::Inherit< ParentClass, Subclass >::accept ( RecordTraversal & visitor) const
inlineoverride

Reimplemented in vsg::RenderGraph.

◆ compare()


The documentation for this class was generated from the following file: