Initial Commit - Lesson 31 (Commit #1)
This commit is contained in:
40
Plugins/GameLiftServerSDK/ThirdParty/concurrentqueue/c_api/blockingconcurrentqueue.cpp
vendored
Normal file
40
Plugins/GameLiftServerSDK/ThirdParty/concurrentqueue/c_api/blockingconcurrentqueue.cpp
vendored
Normal 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;
|
||||
}
|
||||
|
||||
}
|
||||
39
Plugins/GameLiftServerSDK/ThirdParty/concurrentqueue/c_api/concurrentqueue.cpp
vendored
Normal file
39
Plugins/GameLiftServerSDK/ThirdParty/concurrentqueue/c_api/concurrentqueue.cpp
vendored
Normal 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();
|
||||
}
|
||||
|
||||
}
|
||||
41
Plugins/GameLiftServerSDK/ThirdParty/concurrentqueue/c_api/concurrentqueue.h
vendored
Normal file
41
Plugins/GameLiftServerSDK/ThirdParty/concurrentqueue/c_api/concurrentqueue.h
vendored
Normal 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
|
||||
Reference in New Issue
Block a user