LibJuno 0.42.0
LibJuno is a lightweight C99 library designed specifically for embedded systems.
Loading...
Searching...
No Matches
juno_buff.hpp File Reference
#include "buff_api.hpp"
#include "juno/module.h"
#include "juno/module.hpp"
#include "juno/status.h"
Include dependency graph for juno_buff.hpp:

Go to the source code of this file.

Namespaces

namespace  juno
 
namespace  juno::buff
 

Functions

template<typename T , const size_t N>
JUNO_STATUS_T juno::buff::Enqueue (QUEUE_T< T, N > &tQueue, T tData)
 
template<typename T , const size_t N>
RESULT_T< Tjuno::buff::Dequeue (QUEUE_T< T, N > &tQueue)
 
template<typename T , const size_t N>
RESULT_T< T * > juno::buff::QueuePeek (QUEUE_T< T, N > &tQueue)
 
template<typename T , const size_t N>
struct JUNO_QUEUE_T juno::buff::JUNO_MODULE_DERIVE (JUNO_MODULE_ARG(QUEUE_ROOT_T< T, N >), static JUNO_STATUS_T New(QUEUE_T< T, N > &tQueue, const QUEUE_API_T< T, N > &tApi, JUNO_FAILURE_HANDLER_T pfcnFailureHandler, JUNO_USER_DATA_T *pvFailureUserData) { auto &tNew=reinterpret_cast< JUNO_QUEUE_T< T, N > & >(tQueue);tNew.tRoot.ptApi=&tApi;tNew.tRoot._pfcnFailureHandler=pfcnFailureHandler;tNew.tRoot._pvFailureUserData=pvFailureUserData;tNew.tRoot.iStartIndex=0;tNew.tRoot.zLength=0;return JUNO_STATUS_SUCCESS;} static constexpr QUEUE_API_T< T, N > NewApi() { return {Enqueue< T, N >, Dequeue< T, N >, QueuePeek< T, N >};})
 
template<typename T , const size_t N>
union QUEUE_T juno::buff::JUNO_MODULE (JUNO_MODULE_ARG(QUEUE_API_T< T, N >), JUNO_MODULE_ARG(QUEUE_ROOT_T< T, N >), JUNO_QUEUE_T< T, N > tJunoQueue;)
 
template<typename T , const size_t N>
JUNO_STATUS_T juno::buff::Push (STACK_T< T, N > &tStack, T tData)
 
template<typename T , const size_t N>
RESULT_T< Tjuno::buff::Pop (STACK_T< T, N > &tStack)
 
template<typename T , const size_t N>
RESULT_T< T * > juno::buff::StackPeek (STACK_T< T, N > &tStack)
 
template<typename T , const size_t N>
struct JUNO_STACK_T juno::buff::JUNO_MODULE_DERIVE (JUNO_MODULE_ARG(STACK_ROOT_T< T, N >), static JUNO_STATUS_T New(STACK_T< T, N > &tStack, const STACK_API_T< T, N > &tApi, JUNO_FAILURE_HANDLER_T pfcnFailureHandler, JUNO_USER_DATA_T *pvFailureUserData) { auto &tNew=reinterpret_cast< JUNO_STACK_T< T, N > & >(tStack);tNew.tRoot.ptApi=&tApi;tNew.tRoot._pfcnFailureHandler=pfcnFailureHandler;tNew.tRoot._pvFailureUserData=pvFailureUserData;tNew.tRoot.zLength=0;return JUNO_STATUS_SUCCESS;} static constexpr STACK_API_T< T, N > NewApi() { return {Push< T, N >, Pop< T, N >, StackPeek< T, N >};})
 
template<typename T , const size_t N>
union STACK_T juno::buff::JUNO_MODULE (JUNO_MODULE_ARG(STACK_API_T< T, N >), JUNO_MODULE_ARG(STACK_ROOT_T< T, N >), JUNO_STACK_T< T, N > tJunoStack;)