From 2de366be0fa75e571c605e017b5604bccbdb75bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Lam?= Date: Fri, 5 Jun 2020 17:09:06 +0200 Subject: Initial commit --- src/KingSystem/ActorSystem/actBaseProcMap.cpp | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 src/KingSystem/ActorSystem/actBaseProcMap.cpp (limited to 'src/KingSystem/ActorSystem/actBaseProcMap.cpp') diff --git a/src/KingSystem/ActorSystem/actBaseProcMap.cpp b/src/KingSystem/ActorSystem/actBaseProcMap.cpp new file mode 100644 index 00000000..c38072e9 --- /dev/null +++ b/src/KingSystem/ActorSystem/actBaseProcMap.cpp @@ -0,0 +1,22 @@ +#include "KingSystem/ActorSystem/actBaseProcMap.h" + +namespace ksys::act { + +void BaseProcMapNode::add(BaseProcMapNode* node) { + auto next = mNext; + node->mPrev = this; + node->mNext = next; + mNext = node; + if (next) + next->mPrev = node; +} + +void BaseProcMap::insert(BaseProcMapNode* node) { + if (auto existing_node = find(node->key())) + existing_node->add(node); + else + StrTreeMap::insert(node); + node->setInserted(); +} + +} // namespace ksys::act -- cgit v1.2.3