Qt 6.x
The Qt SDK
Loading...
Searching...
No Matches
qv4vtable_p.h File Reference
#include "qv4global_p.h"
#include <QtCore/qmetaobject.h>
+ Include dependency graph for qv4vtable_p.h:

Go to the source code of this file.

Classes

struct  QV4::OwnPropertyKeyIterator
 
struct  QV4::VTable
 
struct  QV4::VTableCallWithMetaTypesWrapper< call >
 
struct  QV4::VTableCallWrapper< call >
 
struct  QV4::VTableBase
 

Namespaces

namespace  QV4
 \qmltype Particle \inqmlmodule QtQuick.Particles
 

Macros

#define DEFINE_MANAGED_VTABLE_INT(classname, parentVTable)
 
#define DEFINE_MANAGED_VTABLE(classname)   const QV4::VTable classname::static_vtbl = DEFINE_MANAGED_VTABLE_INT(classname, 0)
 
#define V4_OBJECT2(DataClass, superClass)
 
#define V4_PROTOTYPE(p)
 
#define DEFINE_OBJECT_VTABLE_BASE(classname)    const QV4::VTable classname::static_vtbl = DEFINE_MANAGED_VTABLE_INT(classname, (std::is_same<classname::SuperClass, Object>::value) ? nullptr : &classname::SuperClass::static_vtbl)
 
#define DEFINE_OBJECT_VTABLE(classname)   DEFINE_OBJECT_VTABLE_BASE(classname)
 
#define DEFINE_OBJECT_TEMPLATE_VTABLE(classname)   template<> DEFINE_OBJECT_VTABLE_BASE(classname)
 

Functions

template<class Class >
constexpr VTable::CallWithMetaTypes QV4::vtableMetaTypesCallEntry ()
 
template<class Class >
constexpr VTable::Call QV4::vtableJsTypesCallEntry ()
 

Macro Definition Documentation

◆ DEFINE_MANAGED_VTABLE

#define DEFINE_MANAGED_VTABLE (   classname)    const QV4::VTable classname::static_vtbl = DEFINE_MANAGED_VTABLE_INT(classname, 0)

Definition at line 234 of file qv4vtable_p.h.

◆ DEFINE_MANAGED_VTABLE_INT

#define DEFINE_MANAGED_VTABLE_INT (   classname,
  parentVTable 
)

Definition at line 190 of file qv4vtable_p.h.

◆ DEFINE_OBJECT_TEMPLATE_VTABLE

#define DEFINE_OBJECT_TEMPLATE_VTABLE (   classname)    template<> DEFINE_OBJECT_VTABLE_BASE(classname)

Definition at line 267 of file qv4vtable_p.h.

◆ DEFINE_OBJECT_VTABLE

#define DEFINE_OBJECT_VTABLE (   classname)    DEFINE_OBJECT_VTABLE_BASE(classname)

Definition at line 264 of file qv4vtable_p.h.

◆ DEFINE_OBJECT_VTABLE_BASE

#define DEFINE_OBJECT_VTABLE_BASE (   classname)     const QV4::VTable classname::static_vtbl = DEFINE_MANAGED_VTABLE_INT(classname, (std::is_same<classname::SuperClass, Object>::value) ? nullptr : &classname::SuperClass::static_vtbl)

Definition at line 261 of file qv4vtable_p.h.

◆ V4_OBJECT2

#define V4_OBJECT2 (   DataClass,
  superClass 
)
Value:
private: \
DataClass() = delete; \
Q_DISABLE_COPY(DataClass) \
public: \
Q_MANAGED_CHECK \
typedef QV4::Heap::DataClass Data; \
typedef superClass SuperClass; \
static const QV4::VTable static_vtbl; \
static inline const QV4::VTable *staticVTable() { return &static_vtbl; } \
V4_MANAGED_SIZE_TEST \
QV4::Heap::DataClass *d_unchecked() const { return static_cast<QV4::Heap::DataClass *>(m()); } \
QV4::Heap::DataClass *d() const { \
QV4::Heap::DataClass *dptr = d_unchecked(); \
dptr->_checkIsInitialized(); \
return dptr; \
} \
Q_STATIC_ASSERT(std::is_trivial_v<QV4::Heap::DataClass>);
const GLfloat * m

Definition at line 237 of file qv4vtable_p.h.

◆ V4_PROTOTYPE

#define V4_PROTOTYPE (   p)
Value:
static QV4::Object *defaultPrototype(QV4::ExecutionEngine *e) \
{ return e->p(); }
double e

Definition at line 256 of file qv4vtable_p.h.