Ddoc

$(COMMENT Pending changelog for 2.071. This will get copied to dlang.org and
    cleared when master gets merged into stable prior to 2.071.
)

$(BUGSTITLE Library Changes,
    $(LI $(NXREF experimental_allocator_gc_allocator, GCAllocator.goodAllocSize)
        was added.)
    $(LI High-level API of $(STDMODREF net_curl, std.net.curl) now uses $(XREF array, Appender)
        for received content. Which generally makes all calls slightly faster. Up to 200ms for large
        amounts of data.)
    $(LI $(XREF meta, Repeat) was added to obtain a repeating
    $(XREF meta, AliasSeq) consisting of template arguments.)
    $(LI $(XREF algorithm_iteration, fold) was added as an alternative to $(XREF algorithm_iteration, reduce)
        with argument order swapped.)
    $(LI $(RELATIVE_LINK2 nextPow2, Added nextPow2 and truncPow2 to std.math.))
    $(LI $(CXREF bitop, bsf), $(CXREF bitop, bsr), and $(CXREF bitop, popcnt) now
        work with ulongs on 32 bit systems.)
    $(LI $(XREF algorithm_sorting, topN) is now 5% - 7% faster.)
    $(LI $(RELATIVE_LINK2 unary, Unary overloads of `startsWith` and `endsWith` were added.))
    $(LI $(RELATIVE_LINK2 maxCount, $(XREF algorithm_searching, maxCount) and
        $(XREF algorithm_searching, maxPos) were added.))
    $(LI Range support for the convenience wrapper $(XREF container_rbtree, redBlackTree)
        was added.)
)

$(BUGSTITLE Library Changes,

$(LI $(LNAME2 nextPow2, Added nextPow2 and truncPow2 to std.math.)
    $(P $(XREF math, nextPow2) and $(XREF math, truncPow2) are functions for
        rounding numbers to powers of two.
    )
------
import std.math;

assert(nextPow2(10) == 16);
assert(nextPow2(4000) == 4096);

assert(truncPow2(10) == 8);
assert(truncPow2(4000) == 2048);
------
)

$(LI $(LNAME2 unary, Unary overloads of `startsWith` and `endsWith` were added.)
    $(P $(XREF algorithm_searching, startsWith) and $(XREF algorithm_searching, endsWith)
        can now be used just with a predicate.
    )
------
import std.algorithm.searching;
import std.ascii : isAlpha;

assert("abc".endsWith!isAlpha);
assert(!"ab1".endsWith!(a => a.isAlpha));

assert("abc".startsWith!isAlpha);
assert(!"1ab".startsWith!isAlpha);
------
)

$(LI $(LNAME2 maxPos, $(XREF algorithm_searching, maxCount) and
     $(XREF algorithm_searching, maxPos) were added.)
$(P Previous to this addition, in order to get the number of the greatest
    elements, you had to use `minCount!"a > b"`, which was very confusing.
    This change adds convenience functions to fix this issue.)
)

)

Macros:
    TITLE=Change Log

    BUGSTITLE = <div class="bugsfixed">$(H4 $1) $(OL $2 )</div>

    RELATIVE_LINK2=<a href="#$1">$+</a>
    LNAME2=<a class="anchor" title="Permalink to this section" id="$1" href="#$1">$+</a>

    STDMODREF = <a href="phobos/std_$1.html">$2</a>
    XREF = <a href="phobos/std_$1.html#$2">$2</a>
    CXREF = <a href="phobos/core_$1.html#$2">$2</a>
    OXREF = <a href="phobos/object.html#$2">$2</a>
    NXREF = <a href="phobos/std_$1.html#.$2">$2</a>
    NCXREF = <a href="phobos/core_$1.html#.$2">$2</a>
    NOXREF = <a href="phobos/object.html#.$2">$2</a>

    BOOKTABLE = <table><caption>$1</caption>$+</table>
