Change array modifiers (assignment operators, swap and fill) behaviour.
Those methods now start internal transaction so that they are seen as atomic from user's perspective. This behaviour is consistent with pmem::vector. Moreover those methods can be called only on pmem-resident objects. Unlike in pmem::vector we cannot check if object is on pmem in a constructor (because array is aggregate) so we postpone this to a swap/fill/operator= function call. This check is performed only in those functions bacause of performance overhead.
parent
c3145a5b
Please register or sign in to comment