digitalmars.D.learn - Question about __treats
- Suliman (6/6) Sep 21 2016 It's seems that __treats is language keyword that help to get
- rikki cattermole (7/13) Sep 21 2016 Simple, __traits or __treats as you called it is implemented by the
- Suliman (5/23) Sep 21 2016 So for example to get All Members of class I should use
- rikki cattermole (2/23) Sep 21 2016 Yeah exactly.
- Steven Schveighoffer (5/26) Sep 21 2016 Yes, you can think of __traits as the basic building blocks the compiler...
It's seems that __treats is language keyword that help to get info from compile-time. But there is also lib named std.traits and I can't understand difference https://dlang.org/spec/traits.html https://dlang.org/phobos/std_traits.html Could you explain the difference?
Sep 21 2016
On 21/09/2016 7:06 PM, Suliman wrote:It's seems that __treats is language keyword that help to get info from compile-time. But there is also lib named std.traits and I can't understand difference https://dlang.org/spec/traits.html https://dlang.org/phobos/std_traits.html Could you explain the difference?Simple, __traits or __treats as you called it is implemented by the compiler. But std.traits is all implemented in the standard library as user D code. If you can do it with std.traits you should. Otherwise __traits. So std.traits is a bit higher level and there are more things available there as adding more __traits is a bit rare.
Sep 21 2016
On Wednesday, 21 September 2016 at 07:09:01 UTC, rikki cattermole wrote:On 21/09/2016 7:06 PM, Suliman wrote:So for example to get All Members of class I should use allMembers from __traits, because it's seems that std.traits do not have such future.It's seems that __treats is language keyword that help to get info from compile-time. But there is also lib named std.traits and I can't understand difference https://dlang.org/spec/traits.html https://dlang.org/phobos/std_traits.html Could you explain the difference?Simple, __traits or __treats as you called it is implemented by the compiler. But std.traits is all implemented in the standard library as user D code. If you can do it with std.traits you should. Otherwise __traits. So std.traits is a bit higher level and there are more things available there as adding more __traits is a bit rare.
Sep 21 2016
On 21/09/2016 7:38 PM, Suliman wrote:On Wednesday, 21 September 2016 at 07:09:01 UTC, rikki cattermole wrote:Yeah exactly.On 21/09/2016 7:06 PM, Suliman wrote:So for example to get All Members of class I should use allMembers from __traits, because it's seems that std.traits do not have such future.It's seems that __treats is language keyword that help to get info from compile-time. But there is also lib named std.traits and I can't understand difference https://dlang.org/spec/traits.html https://dlang.org/phobos/std_traits.html Could you explain the difference?Simple, __traits or __treats as you called it is implemented by the compiler. But std.traits is all implemented in the standard library as user D code. If you can do it with std.traits you should. Otherwise __traits. So std.traits is a bit higher level and there are more things available there as adding more __traits is a bit rare.
Sep 21 2016
On 9/21/16 3:38 AM, Suliman wrote:On Wednesday, 21 September 2016 at 07:09:01 UTC, rikki cattermole wrote:Yes, you can think of __traits as the basic building blocks the compiler provides, and std.traits as providing more features using those building blocks. -SteveOn 21/09/2016 7:06 PM, Suliman wrote:So for example to get All Members of class I should use allMembers from __traits, because it's seems that std.traits do not have such future.It's seems that __treats is language keyword that help to get info from compile-time. But there is also lib named std.traits and I can't understand difference https://dlang.org/spec/traits.html https://dlang.org/phobos/std_traits.html Could you explain the difference?Simple, __traits or __treats as you called it is implemented by the compiler. But std.traits is all implemented in the standard library as user D code. If you can do it with std.traits you should. Otherwise __traits. So std.traits is a bit higher level and there are more things available there as adding more __traits is a bit rare.
Sep 21 2016