Can you explain how Slick manages hashtables and arrays?
How do you ask if a hashtable has a specific entry without creating the entry?
What is the difference between a "null" object and an "_isempty" object?
&s_nameIndex:["Two"]
returns a pointer to the "Two" element - fine.
But, what about when you look up elements that don't exist?
&s_nameIndex:["Four"]
In the debugger, when this statement is executed s_nameIndex grows from 3 to 4 elements.
The new element is shown as "null", yet what is the thing returned by taking the address of a "null" object?
Even though the debugger shows the entry in the hashtable as null, when I reference it it seems like an object because the pointer doesn't compare= to null, but it _isempty() is true.
Whereas this statement
NameIndex *x = &s_nameIndex._el("Four"); x->m_name="newName";
Apparently allocates a NameIndex - as the entry in the hashtable changes from null to a valid NameIndex.
See the attached code.