About std.container.RedBlackTree
Lars T. Kyllingstad
public at kyllingen.NOSPAMnet
Wed Jan 12 00:45:11 PST 2011
On Tue, 11 Jan 2011 15:13:13 +0100, spir wrote:
> On 01/11/2011 02:22 PM, Steven Schveighoffer wrote:
>>> A tree is a kind of set, so instead of "insert()" I'd like a name like
>>> "add()".
>>> (But maybe this is not standard in D).
>>
>> The function names must be consistent across containers, because the
>> point is that complexity and semantic requirements are attached to the
>> function name. The function names were decided long ago by Andrei, and
>> I don't think insert is a bad name (I believe std::set and std::map in
>> C++ STL uses insert).
>
> I have thought at this naming issue, precisely, for a while. "add" is
> bad because of connotation with "addition". D does not use '+' as
> operator for putting new elements in a container: this is a very
> sensible choice imo.
> "insert" is bad because of "in-between" connotation: does not fit when
> putting an element at the end of a seq, even less for unordered
> containers. "put" instead seems to me the right term, obvious and
> general enough: one puts a new element in there. This can nicely adapt
> to very diverse container types such as sequences including stacks (no
> explicite index --> put at end), sets/AAs, trees,...
I seem to remember this being discussed before, and 'put' being rejected
for fear of confusion with the output range interface.
-Lars
More information about the Digitalmars-d
mailing list