AndroMeta  2.0.0
Public Member Functions | Static Public Member Functions
Meta::MPLObject Class Reference

The unit of data abstraction for an MPL-based program. Users subclass MPLObject in MML++ and define M-compatible fields which are available to MPL components such as the MPLKernel compiler. More...

#include <MPLObject.h>

List of all members.

Public Member Functions

MPLNode * compile (mnode &n)
virtual uint64_t getAttribute (const mstr &attr) const =0
virtual size_t getSize () const =0

Static Public Member Functions

static MPLNode * compile (const MPLPair &pair, mnode &n)
static MPLNode * compile (MPLObject *o1, MPLObject *o2, mnode &n)
static void release (mnode &n)

Detailed Description

The unit of data abstraction for an MPL-based program. Users subclass MPLObject in MML++ and define M-compatible fields which are available to MPL components such as the MPLKernel compiler.


Member Function Documentation

MPLNode* Meta::MPLObject::compile ( mnode n)

Compile an MPLNode using this object and the MPL-compatible code contained in n that can then be run by an MPLQueue. n is usually persistent and is used to compile multiple MPLNode's for multiple objects using the same code.

static MPLNode* Meta::MPLObject::compile ( const MPLPair &  pair,
mnode n 
) [static]

Compile an MPLNode using a pair of objects and the MPL-compatible code contained in n that can then be run by an MPLQueue. n is usually persistent and is used to compile multiple MPLNode's for multiple objects using the same code.

static MPLNode* Meta::MPLObject::compile ( MPLObject o1,
MPLObject o2,
mnode n 
) [inline, static]

Alternative method to compile an MPLNode using a pair of objects and the MPL-compatible code contained in n that can then be run by an MPLQueue. n is usually persistent and is used to compile multiple MPLNode's for multiple objects using the same code.

virtual uint64_t Meta::MPLObject::getAttribute ( const mstr attr) const [pure virtual]

Do not implement, this is handled by the MML++ compiler.

virtual size_t Meta::MPLObject::getSize ( ) const [pure virtual]

Do not implement, this is handled by the MML++ compiler.

static void Meta::MPLObject::release ( mnode n) [static]

Release the resources allocated for compilation for code compiled with n.


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