JUCE  v5.4.1-191-g0ab5e696f
JUCE API
Looking for a senior C++ dev?
I'm looking for work. Hire me!
littlefoot::NativeFunction Struct Reference

Defines a native function that the program can call. More...

#include <juce_LittleFootRunner.h>

Collaboration diagram for littlefoot::NativeFunction:

Public Types

using ImplementationFunction = int32(*)(void *, const int32 *)
 

Public Member Functions

 NativeFunction (const char *nameAndArgumentTypes, ImplementationFunction fn)
 Creates a NativeFunction from its signature and an implementation function. More...
 

Static Public Member Functions

static FunctionID createID (const char *nameAndArgTypes)
 Converts a function signature to its hashed ID. More...
 

Public Attributes

ImplementationFunction function
 A static function that will be called. More...
 
FunctionID functionID
 The ID is a hash of the name + arguments, but not the return type. More...
 
const char * nameAndArguments
 This signature must have the form "name/[return type][arg1][arg2..]". More...
 
uint8 numArgs
 The number of arguments that the function takes. More...
 
Type returnType
 The function's return type. More...
 

Static Private Member Functions

static int indexOfSlash (const char *nameAndArgs) noexcept
 

Detailed Description

Defines a native function that the program can call.

{Blocks}

Member Typedef Documentation

◆ ImplementationFunction

Constructor & Destructor Documentation

◆ NativeFunction()

littlefoot::NativeFunction::NativeFunction ( const char *  nameAndArgumentTypes,
ImplementationFunction  fn 
)
inline

Creates a NativeFunction from its signature and an implementation function.

The format of nameAndArgumentTypes is "name/[return type][arg1][arg2..]" So for example "int foobar (float, bool)" would be "foobar/ifb"

Member Function Documentation

◆ createID()

static FunctionID littlefoot::NativeFunction::createID ( const char *  nameAndArgTypes)
inlinestatic

Converts a function signature to its hashed ID.

References jassert.

◆ indexOfSlash()

static int littlefoot::NativeFunction::indexOfSlash ( const char *  nameAndArgs)
inlinestaticprivatenoexcept

References jassert.

Member Data Documentation

◆ function

ImplementationFunction littlefoot::NativeFunction::function

◆ functionID

FunctionID littlefoot::NativeFunction::functionID

The ID is a hash of the name + arguments, but not the return type.

◆ nameAndArguments

const char* littlefoot::NativeFunction::nameAndArguments

This signature must have the form "name/[return type][arg1][arg2..]".

◆ numArgs

uint8 littlefoot::NativeFunction::numArgs

The number of arguments that the function takes.

◆ returnType

Type littlefoot::NativeFunction::returnType

The function's return type.


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