base-signal connect and disconnect in O(1) 17/274617/13
authorEunki, Hong <eunkiki.hong@samsung.com>
Tue, 3 May 2022 14:24:22 +0000 (23:24 +0900)
committerEunki, Hong <eunkiki.hong@samsung.com>
Mon, 16 May 2022 10:39:01 +0000 (19:39 +0900)
commit7bd5332201bd6a3c19ae0a8c6fe16e7a888b8a4c
treeeb92ebd252828f29c1330037176fb9fc0085d17f
parent41005e5e50f465c769b0cce885ac9b52af1420b2
base-signal connect and disconnect in O(1)

Make base-signal control the connection in O(1)
by std::unordered_map and std::list<>::iterator.
and make connection-tracker control the connection in O(1)
by std::unordered_map

std::unordered_map can found duplicated value fast
and std::list<>::iterator can access & remove value fast.
And also, std::list can keep ordered by inputed time.

TODO : Remove the dependency of std::vector header in dali-signal.h
is quite big process. Will be done in other patch

Change-Id: I940d33c46b1470973219c7a9fb10ac89dd70f1ff
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
dali/public-api/signals/base-signal.cpp
dali/public-api/signals/base-signal.h
dali/public-api/signals/connection-tracker.cpp
dali/public-api/signals/connection-tracker.h
dali/public-api/signals/dali-signal.h