vsg  1.1.0
VulkanSceneGraph library
Public Member Functions | Static Public Member Functions | List of all members
vsg::Inherit< ParentClass, Subclass > Class Template Reference

#include <Inherit.h>

Inheritance diagram for vsg::Inherit< ParentClass, Subclass >:
Inheritance graph
[legend]
Collaboration diagram for vsg::Inherit< ParentClass, Subclass >:
Collaboration graph
[legend]

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()


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