Apama
10.2.0.3
|
#include <correlator_plugin.hpp>
Classes | |
class | ElementFn |
Public Member Functions | |
virtual | ~AP_Type ()=0 |
virtual AP_TypeDiscriminator | discriminator () const =0 |
virtual void | copyFrom (const AP_Type &other)=0 |
virtual AP_Chunk * | chunkValue () const =0 |
virtual AP_Chunk * | chunkValue (AP_Chunk *val) const =0 |
virtual int64 | integerValue () const =0 |
virtual void | integerValue (int64 val)=0 |
virtual float64 | floatValue () const =0 |
virtual void | floatValue (float64 val)=0 |
virtual AP_decimal | decimalValue () const =0 |
virtual void | decimalValue (AP_decimal val)=0 |
virtual bool | booleanValue () const =0 |
virtual void | booleanValue (bool val)=0 |
virtual const char8 * | stringValue () const =0 |
virtual void | stringValue (const char8 *val)=0 |
virtual size_t | sequenceLength () const =0 |
virtual void | setSequenceLength (size_t length) const =0 |
virtual void | createSequence (AP_TypeDiscriminator inner)=0 |
virtual AP_TypeDiscriminator | sequenceType () const =0 |
virtual AP_Type & | sequenceElement (size_t index) const =0 |
template<typename FN > | |
void | visitSequenceElements (const FN &fn, size_t start=0, size_t length=size_t(-1)) const |
virtual AP_Type *const * | sequenceElements (size_t start=0, size_t length=size_t(-1)) const =0 |
virtual void | releaseSequenceElements () const =0 |
virtual AP_Chunk *const * | chunkSequenceElements (size_t start=0, size_t length=size_t(-1)) const =0 |
virtual void | releaseChunkSequenceElements () const =0 |
virtual int64 * | integerSequenceElements (size_t start=0, size_t length=size_t(-1)) const =0 |
virtual void | releaseIntegerSequenceElements () const =0 |
virtual float64 * | floatSequenceElements (size_t start=0, size_t length=size_t(-1)) const =0 |
virtual void | releaseFloatSequenceElements () const =0 |
virtual AP_decimal * | decimalSequenceElements (size_t start=0, size_t length=size_t(-1)) const =0 |
virtual void | releaseDecimalSequenceElements () const =0 |
virtual bool * | booleanSequenceElements (size_t start=0, size_t length=size_t(-1)) const =0 |
virtual void | releaseBooleanSequenceElements () const =0 |
virtual const char8 ** | stringSequenceElements (size_t start=0, size_t length=size_t(-1)) const =0 |
virtual void | releaseStringSequenceElements () const =0 |
operator AP_Chunk * () const | |
AP_Type & | operator= (AP_Chunk *val) |
operator int64 () const | |
AP_Type & | operator= (int64 val) |
operator float64 () const | |
AP_Type & | operator= (float64 val) |
operator AP_decimal () const | |
AP_Type & | operator= (AP_decimal val) |
operator bool () const | |
AP_Type & | operator= (bool val) |
operator const char8 * () const | |
AP_Type & | operator= (const char8 *val) |
AP_Type & | operator[] (size_t index) const |
AP_Type & | operator= (const AP_Type &other) |
Protected Member Functions | |
virtual void | visitSequenceElementsImpl (const ElementFn &, size_t start, size_t length) const =0 |
Note that the implementation of the AP_Type member functions is internal to the Engine. One consequence of this is that plugins cannot create a useful instance of this class themselves; the only valid AP_Type objects are those passed in to a plugin function by the Engine.
AP_Type is a "smart union" object – each instance holds a single value of one of the supported types and only allows access to data of that type.
|
pure virtual |
|
pure virtual |
This may or may not require copying the original EPL objects.
|
pure virtual |
|
pure virtual |
|
pure virtual |
This may or may not require copying the original EPL objects.
Note that the AP_Chunk pointers cannot be modified via this call. Use sequenceElement(), visitSequenceElements() or sequenceElements() instead, being sure to free any AP_Chunk instances that are replaced.
|
pure virtual |
The correlator takes ownership of the new AP_Chunk; it should not be deleted by the plugin.
The correlator releases ownership of the old AP_Chunk and returns it to the plug-in for disposal.
The old pointer, or new, or both, may be null.
|
pure virtual |
|
pure virtual |
Member type can only be primitives, string or chunk.
Typically used for return values from functions.
|
pure virtual |
This may or may not require copying the original EPL objects.
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
This may or may not require copying the original EPL objects.
|
pure virtual |
|
pure virtual |
|
pure virtual |
This may or may not require copying the original EPL objects.
|
pure virtual |
|
pure virtual |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
pure virtual |
Arrays previously returned by booleanSequenceElements() immediately become invalid. This function is automatically called when a sequence AP_Type is destroyed, but can be invoked explicitly by a plugin to copy changes back during a long-running computation.
|
pure virtual |
Arrays previously returned by chunkSequenceElements() immediately become invalid. This function is automatically called when a sequence AP_Type is destroyed, but can be invoked explicitly by a plugin during a long-running computation.
|
pure virtual |
Arrays previously returned by decimalSequenceElements() immediately become invalid. This function is automatically called when a sequence AP_Type is destroyed, but can be invoked explicitly by a plugin to copy changes back during a long-running computation.
|
pure virtual |
Arrays previously returned by floatSequenceElements() immediately become invalid. This function is automatically called when a sequence AP_Type is destroyed, but can be invoked explicitly by a plugin to copy changes back during a long-running computation.
|
pure virtual |
Arrays previously returned by integerSequenceElements() immediately become invalid. This function is automatically called when a sequence AP_Type is destroyed, but can be invoked explicitly by a plugin to copy changes back during a long-running computation.
|
pure virtual |
Any arrays previously returned by sequenceElements() immediately become invalid. This function is automatically called when a sequence AP_Type is destroyed, but can be invoked explicitly by a plugin to copy changes back during a long-running computation.
|
pure virtual |
Arrays previously returned by stringSequenceElements() immediately become invalid. This function is automatically called when a sequence AP_Type is destroyed, but can be invoked explicitly by a plugin to copy changes back during a long-running computation.
Note that string sequence element arrays do not own the strings they reference and will never delete a string the plugin has placed in the array - if the plugin has set a value, it must delete that string (and it cannot use the value in the array returned from stringSequenceElement
|
pure virtual |
The element AP_Type remains usable until the sequence AP_Type is destroyed.
|
pure virtual |
This may or may not require copying the original EPL objects.
|
pure virtual |
|
pure virtual |
|
pure virtual |
Increasing the length will populate the sequence with default-initialised objects. Decreasing the length will remove items from the end.
You are not permitted to call setSequenceLength after calling sequenceElements without releasing the elements. If you call setSequenceLength any references returned from sequenceElement or operator[] are invalid and may not be used.
|
pure virtual |
This may or may not require copying the original EPL objects. Strings pointed to by this sequence are only valid for the lifetime of a call into the plugin.
|
pure virtual |
|
pure virtual |
Note that this is only possible on sequence elements and return values, not arguments (which are const)
|
inline |
Although less convenient than other sequence element accessors, it is more efficient as it entails no memory allocation.
|
protectedpure virtual |