/** Hand out vtable structures for interface type descriptions.
*/ class VtableFactory { public: // This structure is not defined in the generic part, but instead has to be // defined individually for each CPP--UNO bridge: /** A vtable slot.
*/ struct Slot;
/** A raw vtable block.
*/ struct Block { /** The start of the raw vtable block.
#ifdef USE_DOUBLE_MMAP /** When separately mmapping the block for writing and executing execpointstothesamememoryasstart,exceptstartisused exclusivelyforwritingandexecforexecuting
*/ void * exec;
/** File handle for the underlying anonymous file
*/ int fd; #endif
/** The size of the raw vtable block, in bytes.
*/
sal_Size size;
};
/** The vtable structure corresponding to an interface type.
*/ struct Vtables { /** The number of blocks/vtables.
*/
sal_Int32 count;
/** An array of blocks, representing the multiple vtables of a (multiple-inheritance)type.
/** Given an interface type description, return its corresponding vtable structure.
*/ const Vtables& getVtables(typelib_InterfaceTypeDescription * type);
// This function is not defined in the generic part, but instead has to be // defined individually for each CPP--UNO bridge: /** Given a pointer to a block, turn it into a vtable pointer.
*/ static Slot * mapBlockToVtable(void * block);
private: class GuardedBlocks; friendclass GuardedBlocks;
// This function is not defined in the generic part, but instead has to be // defined individually for each CPP--UNO bridge: /** Calculate the size of a raw vtable block.
// This function is not defined in the generic part, but instead has to be // defined individually for each CPP--UNO bridge: /** Initialize a raw vtable block.
// This function is not defined in the generic part, but instead has to be // defined individually for each CPP--UNO bridge: /** Fill the vtable slots corresponding to all local (i.e., not inherited) functionsofagiveninterfacetype(andgenerateanynecessarycode snippetsforthem).
// This function is not defined in the generic part, but instead has to be // defined individually for each CPP--UNO bridge: /** Flush all the generated code snippets of a vtable, on platforms that requireit.
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.