@@ -1295,11 +1295,17 @@ class Array
12951295 m_ptr[m_md->size ].~T ();
12961296 }
12971297 // ! Elément d'indice \a i. Vérifie toujours les débordements
1298- ConstReferenceType at (Int64 i) const
1298+ T& at (Int64 i)
12991299 {
13001300 arccoreCheckAt (i,m_md->size );
13011301 return m_ptr[i];
13021302 }
1303+ // ! Elément d'indice \a i. Vérifie toujours les débordements
1304+ ConstReferenceType at (Int64 i) const
1305+ {
1306+ arccoreCheckAt (i, m_md->size );
1307+ return m_ptr[i];
1308+ }
13031309 // ! Positionne l'élément d'indice \a i. Vérifie toujours les débordements
13041310 void setAt (Int64 i,ConstReferenceType value)
13051311 {
@@ -1593,18 +1599,24 @@ class SharedArray
15931599 inline SharedArray (const UniqueArray<T>& rhs);
15941600
15951601 /* !
1596- * \brief Créé un tableau de \a asize éléments avec un
1597- * allocateur spécifique \a allocator.
1598- *
1599- * Si ArrayTraits<T>::IsPODType vaut TrueType, les éléments ne sont pas
1600- * initialisés. Sinon, c'est le constructeur par défaut de T qui est utilisé.
1602+ * \brief Créé un tableau vide avec un allocateur spécifique \a allocator.
16011603 *
16021604 * \warning Using specific allocator for SharedArray is experimental
16031605 */
16041606 explicit SharedArray (IMemoryAllocator* allocator)
1607+ : SharedArray(MemoryAllocationOptions(allocator))
1608+ {
1609+ }
1610+
1611+ /* !
1612+ * \brief Créé un tableau vide avec un allocateur spécifique \a allocation_options.
1613+ *
1614+ * \warning Using specific allocator for SharedArray is experimental
1615+ */
1616+ explicit SharedArray (const MemoryAllocationOptions& allocation_options)
16051617 : Array<T>()
16061618 {
1607- this ->_initFromAllocator (allocator ,0 );
1619+ this ->_initFromAllocator (allocation_options ,0 );
16081620 this ->_checkValidSharedArray ();
16091621 }
16101622
@@ -1614,22 +1626,28 @@ class SharedArray
16141626 *
16151627 * Si ArrayTraits<T>::IsPODType vaut TrueType, les éléments ne sont pas
16161628 * initialisés. Sinon, c'est le constructeur par défaut de T qui est utilisé.
1617- *
1618- * \warning Using specific allocator for SharedArray is experimental
16191629 */
16201630 SharedArray (IMemoryAllocator* allocator,Int64 asize)
1621- : Array<T>( )
1631+ : SharedArray(MemoryAllocationOptions(allocator), asize )
16221632 {
1623- this ->_initFromAllocator (allocator,asize);
1624- this ->_resize (asize);
1625- this ->_checkValidSharedArray ();
16261633 }
16271634
16281635 /* !
1629- * \brief Créé un tableau avec l'allocateur \a allocator en recopiant les valeurs \a rhs.
1636+ * \brief Créé un tableau de \a asize éléments avec un
1637+ * allocateur spécifique \a allocator.
16301638 *
1631- * \warning Using specific allocator for SharedArray is experimental
1639+ * Si ArrayTraits<T>::IsPODType vaut TrueType, les éléments ne sont pas
1640+ * initialisés. Sinon, c'est le constructeur par défaut de T qui est utilisé.
16321641 */
1642+ SharedArray (const MemoryAllocationOptions& allocation_options, Int64 asize)
1643+ : Array<T>()
1644+ {
1645+ this ->_initFromAllocator (allocation_options, asize);
1646+ this ->_resize (asize);
1647+ this ->_checkValidSharedArray ();
1648+ }
1649+
1650+ // !Créé un tableau avec l'allocateur \a allocator en recopiant les valeurs \a rhs.
16331651 SharedArray (IMemoryAllocator* allocator,Span<const T> rhs)
16341652 {
16351653 this ->_initFromAllocator (allocator,0 );
0 commit comments