ab2e12ece9
My version of the PGI compiler was having problems with using IteratorFromArrayPortal with STL algorithms. I traced the problem to iterator_facade checking to see if the reference type we gave it was a real reference (e.g. T&). It is not, iterator_facade downgraded the iterator trait to a simple input iterator tag even though I declared it with a random access traversal. I don't know what the reference type has to do with random access, but in any case the value object is designed to behave like a reference in that when you assign to it the value gets propagated to the array. To tell boost this is the case, I made a specialization of boost::is_reference that declares the value type as a reference. I'm not sure why it failed for me but not elsewhere. It might be that this version of the PGI compiler is using "old-style" iterator traits whereas other were using newer style that matches better the boost iterator traits that iterator_facade is actually using. |
||
---|---|---|
.. | ||
testing | ||
ArrayHandleExecutionManager.h | ||
ArrayManagerExecution.h | ||
ArrayManagerExecutionSerial.h | ||
ArrayManagerExecutionShareWithControl.h | ||
ArrayPortalFromIterators.h | ||
ArrayPortalShrink.h | ||
ArrayTransfer.h | ||
CMakeLists.txt | ||
ConnectivityExplicitInternals.h | ||
DeviceAdapterAlgorithmGeneral.h | ||
DeviceAdapterAlgorithmSerial.h | ||
DeviceAdapterError.h | ||
DeviceAdapterTag.h | ||
DeviceAdapterTagSerial.h | ||
DynamicTransform.h | ||
IteratorFromArrayPortal.h | ||
PointCoordinatesBase.h | ||
SimplePolymorphicContainer.h | ||
StorageError.h |