On Monday, 10 September 2018 at 12:57:25 UTC, Timoses wrote:
On Thursday, 6 February 2014 at 23:06:03 UTC, QAston wrote:
[...]
Is there any way to "select" overloaded template functions?
I require to select one of `std.bitmanip.peek`
import std.bitmanip : peek;
import std.system : Endian;
alias myPeek = peek!(int, Endian.bigEndian,
immutable(ubyte)[]);
Error:
template std.bitmanip.peek matches more than one template
declaration:
/dlang/dmd/linux/bin64/../../src/phobos/std/bitmanip.d(3269):
peek(T, Endian endianness = Endian.bigEndian, R)(R range) if
(canSwapEndianness!T && isForwardRange!R && is(ElementType!R :
const(ubyte)))
and
/dlang/dmd/linux/bin64/../../src/phobos/std/bitmanip.d(3306):
peek(T, Endian endianness = Endian.bigEndian, R)(R range,
size_t* index) if (canSwapEndianness!T && isForwardRange!R &&
hasSlicing!R && is(ElementType!R : const(ubyte)))
How to "select" one?
Can you either:
alias myPeek = () => peek!(int, Endian.bigEndian,
immutable(ubyte)[])();
Or
alias myPeek = (size_t *index) => peek!(int, Endian.bigEndian,
immutable(ubyte)[])(index);
??