www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 4764] New: Lazy versions of std.string.split and std.string.splitlines

reply d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=4764

           Summary: Lazy versions of std.string.split and
                    std.string.splitlines
           Product: D
           Version: D2
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: enhancement
          Priority: P2
         Component: Phobos
        AssignedTo: nobody puremagic.com
        ReportedBy: bearophile_hugs eml.cc


--- Comment #0 from bearophile_hugs eml.cc 2010-08-29 19:01:29 PDT ---
If you have a very large string that you need to split into its lines or parts
lazily, you waste some memory if you use std.string.split or
std.string.splitlines.

So I suggest to add to std.string two ranges that work like std.string.split or
std.string.splitlines but are lazy like std.algorithm.splitter().

std.algorithm.splitter() can't be used directly for this purpose because the
semantic of std.string.split and std.string.splitlines is string-specific, they
use three different kinds of newlines, and several different kinds of newspace
(but the two new string functions may call std.algorithm.splitter() internally
to reduce code duplication).

The two new functions may be named for example std.string.lazySplit and
std.string.lazySplitlines.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Aug 29 2010
parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=4764



--- Comment #1 from bearophile_hugs eml.cc 2011-06-26 05:31:14 PDT ---
Now there is std.algorithm.splitter, that's lazy. There isn't a lazy splitlines
yet. See also bug 5977

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Jun 26 2011