
Hello. I've been searching for a "buffer" class. I mean, a class like std::string with a .data() method that returns a mutable char* instead of a const char*. So I can do something like: std::string buffer; buffer.reserve(SIZE); int n = recv(fd, buffer.data(), SIZE, 0); I know I probably can do that with a cast anyways, but I don't think it's pretty nor "defined behaviour", right? Another thing sometime I need, is some string processing *without* copying. Something like a readonly substring view. What I think of is basically some struct like: struct slice { const char* ptr; size_t len; } which has all the other (at least no-mutable) operation of a string. Something like doing a std::string::substr() but without the copying. Are there any support for this stuff on boost? Do you know any other libraries which have this? TIA. -- Leandro Lucarella (luca) | Blog colectivo: http://www.mazziblog.com.ar/blog/ ---------------------------------------------------------------------------- GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145 104C 949E BFB6 5F5A 8D05) ---------------------------------------------------------------------------- You look so tired-unhappy, bring down the government, they don't, they don't speak for us.

Hello. I've been searching for a "buffer" class. I mean, a class like std::string with a .data() method that returns a mutable char* instead of a const char*.
std::vector<char> does that.
Another thing sometime I need, is some string processing *without* copying. Something like a readonly substring view. What I think of is basically some struct like: struct slice { const char* ptr; size_t len; } which has all the other (at least no-mutable) operation of a string. Something like doing a std::string::substr() but without the copying.
Could you use STL algorithms and const iterators? ****************************************************************************** "This message and any attachments are solely for the intended recipient and may contain confidential and privileged information. If you are not the intended recipient, any disclosure, copying, use, or distribution of the information included in this message and any attachments is prohibited. If you have received this communication in error, please notify us by reply e-mail and immediately and permanently delete this message and any attachments. Thank you." Interactive Transaction Solutions Ltd (2473364 England) Registered Office: Systems House, Station Approach Emsworth PO10 7PW ********************************************************************** Ce message �lectronique contient des informations confidentielles � l'usage unique des destinataires indiqu�s, personnes physiques ou morales. Si vous n'�tes pas le destinataire voulu, toute divulgation, copie, ou diffusion ou toute autre utilisation de ces informations, est interdite. Si vous avez re�u ce message �lectronique par erreur, nous vous remercions d'en avertir son exp�diteur imm�diatement par email et de d�truire ce message ainsi que les �l�ments attach�s. Interactive transaction Solutions SAS- France (RCS Pontoise : 489 397 877) Si�ge social : Parc Saint Christophe, 10, Avenue de l�Entreprise 95865 Cergy-Pontoise Cedex ______________________________________________________________________ This email has been scanned by the MessageLabs Email Security System. For more information please visit http://www.messagelabs.com/email ______________________________________________________________________
participants (2)
-
Leandro Lucarella
-
Patrick Loney