Thread overview | |||||
---|---|---|---|---|---|
|
November 19, 2010 How to read this signature? (writeTo in DIP9) | ||||
---|---|---|---|---|
| ||||
Hi folks, I'm having trouble deciphering this function signature, which appears in the DIP9 proposal: void writeTo(scope delegate(in char[] data) sink, string format = null) const // from http://prowiki.org/wiki4d/wiki.cgi?LanguageDevel/DIPs/DIP9 Particularly, how does "scope" modify the delegate, and what is the meaning of the trailing "const"? Thanks, Graham |
November 19, 2010 Re: How to read this signature? (writeTo in DIP9) | ||||
---|---|---|---|---|
| ||||
Posted in reply to Graham Fawcett | Graham Fawcett:
> void writeTo(scope delegate(in char[] data) sink,
> string format = null) const
>
> // from http://prowiki.org/wiki4d/wiki.cgi?LanguageDevel/DIPs/DIP9
>
> Particularly, how does "scope" modify the delegate, and what is the meaning of the trailing "const"?
"scope" means that the sink delegate is not a true closure, its outer scope is never allocated on the heap. "const" member functions means that inside it the "this" is const, so writeTo() can't modify the class/struct attributes.
Bye,
bearophile
|
November 19, 2010 Re: How to read this signature? (writeTo in DIP9) | ||||
---|---|---|---|---|
| ||||
Posted in reply to bearophile | On Fri, 19 Nov 2010 14:43:03 -0500, bearophile wrote:
> Graham Fawcett:
>
>> void writeTo(scope delegate(in char[] data) sink,
>> string format = null) const
>>
>> // from http://prowiki.org/wiki4d/wiki.cgi?LanguageDevel/DIPs/DIP9
>>
>> Particularly, how does "scope" modify the delegate, and what is the meaning of the trailing "const"?
>
> "scope" means that the sink delegate is not a true closure, its outer scope is never allocated on the heap. "const" member functions means that inside it the "this" is const, so writeTo() can't modify the class/struct attributes.
Ah! Thanks very much, bearophile!
Graham
|
Copyright © 1999-2021 by the D Language Foundation