OpenTTD Source: SQConvert Namespace Reference

OpenTTD Source 15.3

Data Structures | Functions
SQConvert Namespace Reference

The Squirrel convert routines. More...

## Data Structures
struct | HelperT
| Helper class to recognize the function type (retval type, args) and use the proper specialization for SQ callback. More...
struct | HelperT< Tretval(*)(Targs...)>
| The real C++ caller for functions. More...
struct | HelperT< Tretval(Tcls::*)(Targs...)>
| The real C++ caller for methods. More...
struct | Param
| To get a param from squirrel, we use this helper class. More...
struct | Param< Array< Titem > && >
struct | Param< bool >
struct | Param< const char * >
struct | Param< const std::string & >
struct | Param< int16_t >
struct | Param< int32_t >
struct | Param< int64_t >
struct | Param< int8_t >
struct | Param< T >
struct | Param< TileIndex >
struct | Param< uint16_t >
struct | Param< uint32_t >
struct | Param< uint8_t >
struct | Return
| To return a value to squirrel, we use this helper class. More...
struct | Return< bool >
struct | Return< char * >
struct | Return< const char * >
struct | Return< HSQOBJECT >
struct | Return< int16_t >
struct | Return< int32_t >
struct | Return< int64_t >
struct | Return< int8_t >
struct | Return< std::optional< std::string > >
struct | Return< T >
struct | Return< TileIndex >
struct | Return< uint16_t >
struct | Return< uint32_t >
struct | Return< uint8_t >

## Functions
template<typename Tcls , typename Tmethod , ScriptType Ttype>
SQInteger | DefSQNonStaticCallback (HSQUIRRELVM vm)
| A general template for all non-static method callbacks from Squirrel.
template<typename Tcls , typename Tmethod , ScriptType Ttype>
SQInteger | DefSQAdvancedNonStaticCallback (HSQUIRRELVM vm)
| A general template for all non-static advanced method callbacks from Squirrel.
template<typename Tcls , typename Tmethod >
SQInteger | DefSQStaticCallback (HSQUIRRELVM vm)
| A general template for all function/static method callbacks from Squirrel.
template<typename Tcls , typename Tmethod >
SQInteger | DefSQAdvancedStaticCallback (HSQUIRRELVM vm)
| A general template for all static advanced method callbacks from Squirrel.
template<typename Tcls >
static SQInteger | DefSQDestructorCallback (SQUserPointer p, SQInteger)
| A general template for the destructor of SQ instances.
template<typename Tcls , typename Tmethod >
SQInteger | DefSQConstructorCallback (HSQUIRRELVM vm)
| A general template to handle creating of instance with any amount of params.
template<typename Tcls >
SQInteger | DefSQAdvancedConstructorCallback (HSQUIRRELVM vm)
| A general template to handle creating of an instance with a complex constructor.

## Detailed Description

The Squirrel convert routines.

## Function Documentation

## ◆ DefSQAdvancedConstructorCallback()

template<typename Tcls >

SQInteger SQConvert::DefSQAdvancedConstructorCallback | ( | HSQUIRRELVM | vm | ) |
| inline

A general template to handle creating of an instance with a complex constructor.

Definition at line 402 of file squirrel_helper.hpp.

## ◆ DefSQAdvancedNonStaticCallback()

template<typename Tcls , typename Tmethod , ScriptType Ttype>

SQInteger SQConvert::DefSQAdvancedNonStaticCallback | ( | HSQUIRRELVM | vm | ) |
| inline

A general template for all non-static advanced method callbacks from Squirrel.

In here the function_proc is recovered, and the SQCall is called that can handle this exact amount of params.

Definition at line 273 of file squirrel_helper.hpp.

References Squirrel::GetInstance().

## ◆ DefSQAdvancedStaticCallback()

template<typename Tcls , typename Tmethod >

SQInteger SQConvert::DefSQAdvancedStaticCallback | ( | HSQUIRRELVM | vm | ) |
| inline

A general template for all static advanced method callbacks from Squirrel.

In here the function_proc is recovered, and the SQCall is called that can handle this exact amount of params.

Definition at line 342 of file squirrel_helper.hpp.

## ◆ DefSQConstructorCallback()

template<typename Tcls , typename Tmethod >

SQInteger SQConvert::DefSQConstructorCallback | ( | HSQUIRRELVM | vm | ) |
| inline

A general template to handle creating of instance with any amount of params.

It creates the instance in C++, and it sets all the needed settings in SQ to register the instance.

Definition at line 380 of file squirrel_helper.hpp.

## ◆ DefSQDestructorCallback()

template<typename Tcls >

static SQInteger SQConvert::DefSQDestructorCallback | ( | SQUserPointer | p,
|  | SQInteger |
| ) |  |
| static

A general template for the destructor of SQ instances.

This is needed here as it has to be in the same scope as DefSQConstructorCallback.

Definition at line 367 of file squirrel_helper.hpp.

## ◆ DefSQNonStaticCallback()

template<typename Tcls , typename Tmethod , ScriptType Ttype>

SQInteger SQConvert::DefSQNonStaticCallback | ( | HSQUIRRELVM | vm | ) |
| inline

A general template for all non-static method callbacks from Squirrel.

In here the function_proc is recovered, and the SQCall is called that can handle this exact amount of params.

Definition at line 230 of file squirrel_helper.hpp.

References Squirrel::GetInstance().

## ◆ DefSQStaticCallback()

template<typename Tcls , typename Tmethod >

SQInteger SQConvert::DefSQStaticCallback | ( | HSQUIRRELVM | vm | ) |
| inline

A general template for all function/static method callbacks from Squirrel.

In here the function_proc is recovered, and the SQCall is called that can handle this exact amount of params.

Definition at line 316 of file squirrel_helper.hpp.