On Sunday, 6 September 2015 at 07:34:36 UTC, ParticlePeter wrote:
I am working on a struct vector. The data is stored in a member
static array and I want to be able to forward all array
properties except length to vector.
Reason is I have free functions f that take vector(s) as
arguments, such that f(vector) and vector.f via UFCS is
possible. Using alias array this in the case of length
function/array property is problematic, as length(vector)
obviously uses the free function but vector.length the array
property.
What would be the simplest way to disable the array.length
property for the vector struct?
I would prefer not to implement length as a vector member
function and call it inside the free function as this is
inconsistent with the other free funcs.
Hi,
If you are looking for somethin like delegator from ruby:
http://ruby-doc.org/stdlib-2.0.0/libdoc/forwardable/rdoc/Forwardable.html
they are in D template proxy;
http://dlang.org/phobos/std_typecons.html#.Proxy
Or by using mixin delegates:
http://forum.dlang.org/post/jitn9v$20u4$1...@digitalmars.com