Хмм. Интересно.
Конечно, это какая-то реализация, но точно сказать сложно.
Это не текущий STLport, однозначно.
Частично похоже на официальный SGI, но не 100%.
У SGI 3.3 реализация такая:
struct _Hashtable_const_iterator {
const _Node* _M_cur;
const _Hashtable* _M_ht;
};
struct _Hashtable_node
{
_Hashtable_node* _M_next;
_Val _M_val;
};
class hashtable {
hasher _M_hash;
key_equal _M_equals;
_ExtractKey _M_get_key;
vector<_Node*,_Alloc> _M_buckets;
size_type _M_num_elements;
};
На мой взгляд, реализация в 1С совпадает для итератора и узла, но не 100% совпадает для hashtable.
Функторов нет, вектор и число элементов есть.
В свое время я hashtable 1С описал таким образом
//+ SIZEOF R27 0x14
//+ RECONSTRUCTED, NAME GUESSED
class CNamedItemMap
{
public:
DWORD dw_00; // 0x00 ; х.з.
CNamedItemNode* pStart; // 0x04
CNamedItemNode* pEnd; // 0x08
CNamedItemNode* pEndOfStorage; // 0x0C
DWORD nCount; // 0x10 ; count of non-NULL named items
};
Только тогда я не догнал, что это hashtable, у которой внутри вектор