RingRacers/libs/ACSVM/include/CAPI/Array.h
Sally Coolatta 26477941ed Attempt using ACSVM to implement
It's having trouble linking the dll on Windows currently
2022-10-03 01:23:58 -04:00

55 lines
1.3 KiB
C

//-----------------------------------------------------------------------------
//
// Copyright (C) 2015-2017 David Hill
//
// See COPYING for license information.
//
//-----------------------------------------------------------------------------
//
// Arrays.
//
//-----------------------------------------------------------------------------
#ifndef ACSVM__CAPI__Array_H__
#define ACSVM__CAPI__Array_H__
#include "Types.h"
#ifdef __cplusplus
#include "../ACSVM/Array.hpp"
#endif
#ifdef __cplusplus
extern "C" {
#endif
//----------------------------------------------------------------------------|
// Extern Functions |
//
ACSVM_Array *ACSVM_AllocArray(void);
void ACSVM_FreeArray(ACSVM_Array *arr);
void ACSVM_Array_Clear(ACSVM_Array *arr);
ACSVM_Word ACSVM_Array_Find(ACSVM_Array const *arr, ACSVM_Word idx);
ACSVM_Word *ACSVM_Array_Get(ACSVM_Array *arr, ACSVM_Word idx);
bool ACSVM_Array_LoadState(ACSVM_Array *arr, ACSVM_Serial *in);
void ACSVM_Array_LockStrings(ACSVM_Array const *arr, ACSVM_Environment *env);
void ACSVM_Array_RefStrings(ACSVM_Array const *arr, ACSVM_Environment *env);
void ACSVM_Array_SaveState(ACSVM_Array const *arr, ACSVM_Serial *out);
void ACSVM_Array_UnlockStrings(ACSVM_Array const *arr, ACSVM_Environment *env);
#ifdef __cplusplus
}
#endif
#endif//ACSVM__CAPI__Array_H__