Initial Commit

This commit is contained in:
Norman Lansing
2026-01-28 19:08:51 -05:00
commit ecb33115bf
54042 changed files with 9695586 additions and 0 deletions

View File

@@ -0,0 +1,40 @@
#include "concurrentqueue.h"
#include "../blockingconcurrentqueue.h"
typedef moodycamel::BlockingConcurrentQueue<void*> MoodycamelBCQType, *MoodycamelBCQPtr;
extern "C" {
int moodycamel_bcq_create(MoodycamelBCQHandle* handle)
{
MoodycamelBCQPtr retval = new MoodycamelBCQType;
if (retval == nullptr) {
return 0;
}
*handle = retval;
return 1;
}
int moodycamel_bcq_destroy(MoodycamelBCQHandle handle)
{
delete reinterpret_cast<MoodycamelBCQPtr>(handle);
return 1;
}
int moodycamel_bcq_enqueue(MoodycamelBCQHandle handle, MoodycamelValue value)
{
return reinterpret_cast<MoodycamelBCQPtr>(handle)->enqueue(value) ? 1 : 0;
}
int moodycamel_bcq_wait_dequeue(MoodycamelBCQHandle handle, MoodycamelValue* value)
{
reinterpret_cast<MoodycamelBCQPtr>(handle)->wait_dequeue(*value);
return 1;
}
int moodycamel_bcq_try_dequeue(MoodycamelBCQHandle handle, MoodycamelValue* value)
{
return reinterpret_cast<MoodycamelBCQPtr>(handle)->try_dequeue(*value) ? 1 : 0;
}
}

View File

@@ -0,0 +1,39 @@
#include "concurrentqueue.h"
#include "../concurrentqueue.h"
typedef moodycamel::ConcurrentQueue<void*> MoodycamelCQType, *MoodycamelCQPtr;
extern "C" {
int moodycamel_cq_create(MoodycamelCQHandle* handle)
{
MoodycamelCQPtr retval = new MoodycamelCQType;
if (retval == nullptr) {
return 0;
}
*handle = retval;
return 1;
}
int moodycamel_cq_destroy(MoodycamelCQHandle handle)
{
delete reinterpret_cast<MoodycamelCQPtr>(handle);
return 1;
}
int moodycamel_cq_enqueue(MoodycamelCQHandle handle, MoodycamelValue value)
{
return reinterpret_cast<MoodycamelCQPtr>(handle)->enqueue(value) ? 1 : 0;
}
int moodycamel_cq_try_dequeue(MoodycamelCQHandle handle, MoodycamelValue* value)
{
return reinterpret_cast<MoodycamelCQPtr>(handle)->try_dequeue(*value) ? 1 : 0;
}
size_t moodycamel_cq_size_approx(MoodycamelCQHandle handle)
{
return reinterpret_cast<MoodycamelCQPtr>(handle)->size_approx();
}
}

View File

@@ -0,0 +1,41 @@
#pragma once
#include <stddef.h>
#ifdef __cplusplus
extern "C" {
#endif
#ifndef MOODYCAMEL_EXPORT
#ifdef _WIN32
#if defined(MOODYCAMEL_STATIC) //preferred way
#define MOODYCAMEL_EXPORT
#elif defined(DLL_EXPORT)
#define MOODYCAMEL_EXPORT __declspec(dllexport)
#else
#define MOODYCAMEL_EXPORT __declspec(dllimport)
#endif
#else
#define MOODYCAMEL_EXPORT
#endif
#endif
typedef void* MoodycamelCQHandle;
typedef void* MoodycamelBCQHandle;
typedef void* MoodycamelValue;
MOODYCAMEL_EXPORT int moodycamel_cq_create(MoodycamelCQHandle* handle);
MOODYCAMEL_EXPORT int moodycamel_cq_destroy(MoodycamelCQHandle handle);
MOODYCAMEL_EXPORT int moodycamel_cq_enqueue(MoodycamelCQHandle handle, MoodycamelValue value);
MOODYCAMEL_EXPORT int moodycamel_cq_try_dequeue(MoodycamelCQHandle handle, MoodycamelValue* value);
MOODYCAMEL_EXPORT size_t moodycamel_cq_size_approx(MoodycamelCQHandle handle);
MOODYCAMEL_EXPORT int moodycamel_bcq_create(MoodycamelBCQHandle* handle);
MOODYCAMEL_EXPORT int moodycamel_bcq_destroy(MoodycamelBCQHandle handle);
MOODYCAMEL_EXPORT int moodycamel_bcq_enqueue(MoodycamelBCQHandle handle, MoodycamelValue value);
MOODYCAMEL_EXPORT int moodycamel_bcq_wait_dequeue(MoodycamelBCQHandle handle, MoodycamelValue* value);
MOODYCAMEL_EXPORT int moodycamel_bcq_try_dequeue(MoodycamelBCQHandle handle, MoodycamelValue* value);
#ifdef __cplusplus
}
#endif