X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/687631532197750696d35aa12c40406b04fb878d..46b0747592074017ff0ea4b33d4a7194235886e5:/projects/stargazer/actions.inl.h diff --git a/projects/stargazer/actions.inl.h b/projects/stargazer/actions.inl.h deleted file mode 100644 index 29dce606..00000000 --- a/projects/stargazer/actions.inl.h +++ /dev/null @@ -1,111 +0,0 @@ -#ifndef __ACTIONS_INL_H__ -#define __ACTIONS_INL_H__ - -#include - -#include "stg/stg_locker.h" - -// Polymorphick action invocation -template -inline -void ACTION::Invoke() -{ -(activeClass.*actor)(data); -} - -inline -ACTIONS_LIST::ACTIONS_LIST() - : mutex() -{ -pthread_mutex_init(&mutex, NULL); -}; - -// Delete all actions before deleting list -inline -ACTIONS_LIST::~ACTIONS_LIST() -{ - - { - STG_LOCKER lock(&mutex, __FILE__, __LINE__); - - parent::iterator it(parent::begin()); - while (it != parent::end()) - { - delete *it++; - } - } - -pthread_mutex_destroy(&mutex); -}; - -inline -ACTIONS_LIST::parent::iterator ACTIONS_LIST::begin() -{ -STG_LOCKER lock(&mutex, __FILE__, __LINE__); -return parent::begin(); -}; - -inline -ACTIONS_LIST::parent::iterator ACTIONS_LIST::end() -{ -STG_LOCKER lock(&mutex, __FILE__, __LINE__); -return parent::end(); -}; - -inline -ACTIONS_LIST::parent::const_iterator ACTIONS_LIST::begin() const -{ -STG_LOCKER lock(&mutex, __FILE__, __LINE__); -return parent::begin(); -}; - -inline -ACTIONS_LIST::parent::const_iterator ACTIONS_LIST::end() const -{ -STG_LOCKER lock(&mutex, __FILE__, __LINE__); -return parent::end(); -}; - -inline -bool ACTIONS_LIST::empty() const -{ -STG_LOCKER lock(&mutex, __FILE__, __LINE__); -return parent::empty(); -}; - -inline -size_t ACTIONS_LIST::size() const -{ -STG_LOCKER lock(&mutex, __FILE__, __LINE__); -return parent::size(); -}; - -inline -void ACTIONS_LIST::swap(ACTIONS_LIST & list) -{ -STG_LOCKER lock(&mutex, __FILE__, __LINE__); -parent::swap(list); -}; - -template -inline -void ACTIONS_LIST::Enqueue(ACTIVE_CLASS & ac, - typename ACTOR::TYPE a, - DATA_TYPE d) -{ -STG_LOCKER lock(&mutex, __FILE__, __LINE__); -push_back(new ACTION(ac, a, d)); -} - -inline -void ACTIONS_LIST::InvokeAll() -{ -STG_LOCKER lock(&mutex, __FILE__, __LINE__); -std::for_each( - parent::begin(), - parent::end(), - std::mem_fun(&BASE_ACTION::Invoke) -); -}; - -#endif