www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - Container Purity

reply =?UTF-8?B?Tm9yZGzDtnc=?= <per.nordlow gmail.com> writes:
Is it currently possible for a container such as

https://github.com/economicmodeling/containers/blob/master/src/containers/dynamicarray.d

that uses std.experimental.container

to be completely pure? If not can be made to?

I wonder because only length(), empty(), front() and back() are 
tagged as pure in DynamicArray at

https://github.com/economicmodeling/containers/blob/master/src/containers/dynamicarray.d

are marked as pure. Is there a reason for this?
Dec 09 2015
parent reply =?UTF-8?B?Tm9yZGzDtnc=?= <per.nordlow gmail.com> writes:
On Wednesday, 9 December 2015 at 10:47:18 UTC, Nordlöw wrote:
 that uses std.experimental.container
Correction: I mean std.experimental.allocator
Dec 09 2015
parent reply Kagamin <spam here.lot> writes:
Allocators usually use global state. Such code is usually treated 
as impure.
Dec 09 2015
parent =?UTF-8?B?Tm9yZGzDtnc=?= <per.nordlow gmail.com> writes:
On Wednesday, 9 December 2015 at 11:46:45 UTC, Kagamin wrote:
 Allocators usually use global state. Such code is usually 
 treated as impure.
What about containers that store their own local allocator? Will DMD infer all members of such containers to be pure if they only access locally allocated structures?
Dec 09 2015