From d7b9439df5d09d121c55a15f2bc25c360deeebe0 Mon Sep 17 00:00:00 2001 From: JP Cimalando Date: Thu, 17 May 2018 21:33:28 +0200 Subject: dynamic instrument API --- src/adlmidi_bankmap.tcc | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'src/adlmidi_bankmap.tcc') diff --git a/src/adlmidi_bankmap.tcc b/src/adlmidi_bankmap.tcc index 938192d..9303f0d 100644 --- a/src/adlmidi_bankmap.tcc +++ b/src/adlmidi_bankmap.tcc @@ -136,6 +136,25 @@ inline bool BasicBankMap::iterator::operator!=(const iterator &o) const return !operator==(o); } +template +void BasicBankMap::iterator::to_ptrs(void *ptrs[3]) +{ + ptrs[0] = buckets; + ptrs[1] = slot; + ptrs[2] = (void *)index; +} + +template +typename BasicBankMap::iterator +BasicBankMap::iterator::from_ptrs(void *const ptrs[3]) +{ + iterator it; + it.buckets = (Slot **)ptrs[0]; + it.slot = (Slot *)ptrs[1]; + it.index = (size_t)ptrs[2]; + return it; +} + template std::pair::iterator, bool> BasicBankMap::insert(const value_type &value) -- cgit v1.2.3