Dynamic arrays in D 1.0
Christopher Wright
dhasenan at gmail.com
Mon May 12 05:26:44 PDT 2008
Bill Baxter wrote:
> Edward Diener wrote:
>> In D 1.0 dynamic arrays are the equivalent of C++'s std::vector<T>,
>> with slicing replacing iterators in order to access some subrange of
>> the sequence. In C++ there is functionality in std::vector::erase for
>> erasing elements from the vector and std::vector::insert for inserting
>> new elements into the vector. Where is that functionality in D's
>> dynamic arrays ?
>
> Yes, erase & insert and many other things are conspicuously missing from
> D1 Phobos (not sure about D2 Phobos). I like the collection of such
> routines provided by the Cashew library in the cashew.utils.Array module.
I've been using tango's HashSet instead, since I don't need ordering.
How do the Cashew collections compare?
>> Furthermore in D 1.0 a char[], a dynamic array of characters, is the
>> equivalent of the C++ std::string. In the C++ std::string class there
>> is a rich set of functionality for manipulating the char elements in
>> the string, for finding particular elements in the string, and for
>> comparing the character elements in strings with other strings, but I
>> see little of this in dynamic array functionality. What am I missing ?
>
> Those functions are in std.string in Phobos. And scattered all over the
> place in Tango.
If by 'scattered all over the place' you mean 'most everything suitable
for all array types is in tango.core.Array and everything else is in
tango.text.*', yes.
More information about the Digitalmars-d
mailing list