System::Array klasse

Array class

Klasse die een array‑datastructuur vertegenwoordigt. Objecten van deze klasse mogen alleen worden gealloceerd met behulp van de functies System::MakeArray() en System::MakeObject(). Maak nooit een instantie van dit type op de stack of met operator new, omdat dit leidt tot runtime‑fouten en/of assertiefouten. Omhul altijd deze klasse in een System::SmartPtr pointer en gebruik deze pointer om deze als argument aan functies door te geven.

template<typename T>class Array : public virtual System::Object,
                                  public System::Collections::Generic::IList<T>
ParameterBeschrijving
TType van elementen van een array

Nested classes

Methoden

MethodeBeschrijving
Add(const T&) overrideNiet ondersteund omdat de array die door het huidige object wordt weergegeven alleen-lezen is.
Array()Construeert een lege array.
Array(int, const T&)Vullende constructor.
Array(typename std::enable_if<std::is_arithmetic<T>::value&&std::is_arithmetic<ValueType>::value&&std::is_convertible<ValueType, T>::value, int>::type, ValueType)Vullende constructor.
Array(int, const T)Vullende constructor.
Array(vector_t&&)Move-constructor.
Array(const vector_t&)Copy-constructor.
Array(const std::vector<Q>&)Construeert een Array-object en vult het met waarden gekopieerd uit een std::vector-object waarvan het type van de waarden hetzelfde is als T, maar verschillend van UnderlyingType.
Array(std::vector<Q>&&)Construeert een Array-object en vult het met waarden verplaatst uit een std::vector-object waarvan het type van de waarden hetzelfde is als T, maar verschillend van UnderlyingType.
Array(std::initializer_list<UnderlyingType>)Construeert een Array-object en vult het met waarden uit de opgegeven initializer‑list die elementen van het type UnderlyingType bevat.
Array(const std::array<UnderlyingType, InitArraySize>&)Construeert een Array-object en vult het met waarden uit de opgegeven array die elementen van het type UnderlyingType bevat.
Array(std::initializer_list<bool>, int)Construeert een Array-object en vult het met waarden uit de opgegeven initializer‑list die elementen van het type bool bevat.
begin()Retourneert een iterator naar het eerste element van de container. Als de container leeg is, is de geretourneerde iterator gelijk aan end().
begin() constRetourneert een iterator naar het eerste element van de const-gekwalificeerde container. Als de container leeg is, is de geretourneerde iterator gelijk aan end().
static BinarySearch(System::ArrayPtr<T>, const T&)Voert een binaire zoekopdracht uit in de gesorteerde array.
static BinarySearch(System::ArrayPtr<T>, const Y&, const SharedPtr<Collections::Generic::IComparer<Z>>&)NOG NIET GEÏMPLENTEERD.
cbegin() constRetourneert een iterator naar het eerste const-gekwalificeerde element van de container. Als de container leeg is, is de geretourneerde iterator gelijk aan cend().
cend() constRetourneert een iterator naar het element dat volgt op het laatste element van de container. Dit element fungeert als een placeholder; proberen er toegang toe te krijgen resulteert in ongedefinieerd gedrag.
Clear() overrideNiet ondersteund omdat de array die door het huidige object wordt weergegeven alleen-lezen is.
static Clear(const ArrayPtr<Type>&, int, int)Vervangt count waarden beginnend bij de index startIndex in de opgegeven array door standaardwaarden.
Clone()Kloont de array.
static ConstrainedCopy(const ArrayPtr<SrcType>&, int64_t, const ArrayPtr<DstType>&, int64_t, int64_t)Kopieert een reeks elementen van een System.Array beginnend bij de opgegeven bron.
Contains(const T&) const overrideBepaalt of het opgegeven item zich in de array bevindt.
static ConvertAll(ArrayPtr<InputType>, Converter<InputType, OutputType>)Construeert een nieuw Array-object en vult het met elementen van de opgegeven array die geconverteerd zijn naar het type OutputType met behulp van de opgegeven converter‑delegate.
static ConvertAll(ArrayPtr<InputType>, std::function<OutputType(InputType)>)Construeert een nieuw Array-object en vult het met elementen van de opgegeven array die geconverteerd zijn naar het type OutputType met behulp van het opgegeven converter‑functiesobject.
static Copy(const ArrayPtr<SrcType>&, const ArrayPtr<DstType>&, int64_t)Kopieert het opgegeven aantal elementen van de bronarray naar de doelarray.
static Copy(System::Details::ArrayView<SrcType>, const ArrayPtr<DstType>&, int64_t)Kopieert het opgegeven aantal elementen van de bron‑array‑view naar de doelarray.
static Copy(const ArrayPtr<SrcType>&, System::Details::ArrayView<DstType>, int64_t)Kopieert het opgegeven aantal elementen van de bronarray naar de doel‑array‑view.
static Copy(System::Details::ArrayView<SrcType>, System::Details::ArrayView<DstType>, int64_t)Kopieert het opgegeven aantal elementen van de bron‑array‑view naar de doel‑array‑view.
static Copy(System::Details::StackArray<SrcType, N>&, const ArrayPtr<DstType>&, int64_t)Kopieert het opgegeven aantal elementen van de bronarray op de stack naar de doelarray.
static Copy(const ArrayPtr<SrcType>&, System::Details::StackArray<DstType, N>&, int64_t)Kopieert het opgegeven aantal elementen van de bronarray naar de doelarray op de stack.
static Copy(System::Details::StackArray<SrcType, NS>&, System::Details::StackArray<DstType, ND>&, int64_t)Kopieert het opgegeven aantal elementen van de bronarray op de stack naar de doelarray op de stack.
static Copy(const ArrayPtr<SrcType>&, int64_t, const ArrayPtr<DstType>&, int64_t, int64_t)Kopieert een opgegeven aantal elementen van de bronarray beginnend bij de opgegeven index naar de opgegeven positie in de doelarray.
static Copy(System::Details::ArrayView<SrcType>, int64_t, const ArrayPtr<DstType>&, int64_t, int64_t)Kopieert een opgegeven aantal elementen van de bronarrayweergave beginnend bij de opgegeven index naar de opgegeven positie in de doelarray.
static Copy(const ArrayPtr<SrcType>&, int64_t, System::Details::ArrayView<DstType>, int64_t, int64_t)Kopieert een opgegeven aantal elementen van de bronarray beginnend bij de opgegeven index naar de opgegeven positie in de doelarrayweergave.
static Copy(System::Details::ArrayView<SrcType>, int64_t, System::Details::ArrayView<DstType>, int64_t, int64_t)Kopieert een opgegeven aantal elementen van de bronarrayweergave beginnend bij de opgegeven index naar de opgegeven positie in de doelarrayweergave.
static Copy(System::Details::StackArray<SrcType, N>&, int64_t, const ArrayPtr<DstType>&, int64_t, int64_t)Kopieert een opgegeven aantal elementen van de bronarray op de stack beginnend bij de opgegeven index naar de opgegeven positie in de doelarray.
static Copy(const ArrayPtr<SrcType>&, int64_t, System::Details::StackArray<DstType, N>&, int64_t, int64_t)Kopieert een opgegeven aantal elementen van de bronarray beginnend bij de opgegeven index naar de opgegeven positie in de doelarray op de stack.
static Copy(System::Details::StackArray<SrcType, NS>&, int64_t, System::Details::StackArray<DstType, ND>&, int64_t, int64_t)Kopieert een opgegeven aantal elementen van de bronarray op de stack beginnend bij de opgegeven index naar de opgegeven positie in de doelarray op de stack.
static Copy(System::Details::ArrayView<SrcType>&, int64_t, System::Details::StackArray<DstType, ND>&, int64_t, int64_t)Kopieert een opgegeven aantal elementen van de bronarrayweergave beginnend bij de opgegeven index naar de opgegeven positie in de doelarray op de stack.
CopyTo(ArrayPtr<T>, int) overrideKopieert alle elementen van de huidige array naar de opgegeven doelarray. Elementen worden in de doelarray ingevoegd beginnend bij de index die wordt opgegeven door het argument arrayIndex.
CopyTo(const ArrayPtr<DstType>&, int64_t) constKopieert alle elementen van de huidige array naar de opgegeven doelarray. Elementen worden in de doelarray ingevoegd beginnend bij de index die wordt opgegeven door het argument dstIndex.
CopyTo(const System::Details::ArrayView<DstType>&, int64_t) constKopieert alle elementen van de huidige array naar de opgegeven doelarrayweergave. Elementen worden in de doelarrayweergave ingevoegd beginnend bij de index die wordt opgegeven door het argument dstIndex.
CopyTo(const ArrayPtr<DstType>&, int64_t, int64_t, int64_t) constKopieert een opgegeven aantal elementen van de huidige array beginnend bij de opgegeven positie naar de opgegeven doelarray. Elementen worden in de doelarray ingevoegd beginnend bij de index die wordt opgegeven door het argument dstIndex.
CopyTo(const System::Details::ArrayView<DstType>&, int64_t, int64_t, int64_t) constKopieert een opgegeven aantal elementen van de huidige array beginnend bij de opgegeven positie naar de opgegeven doelarrayweergave. Elementen worden in de doelarrayweergave ingevoegd beginnend bij de index die wordt opgegeven door het argument dstIndex.
Count() constRetourneert een getal dat het totale aantal elementen in alle dimensies van de array weergeeft.
crbegin() constRetourneert een reverse-iterator naar het eerste element van de omgekeerde container. Het correspondeert met het laatste element van de niet-omgekeerde container. Als de container leeg is, is de geretourneerde iterator gelijk aan crend().
crend() constRetourneert een reverse-iterator naar het element dat volgt op het laatste element van de omgekeerde container. Het correspondeert met het element dat voorafgaat aan het eerste element van de niet-omgekeerde container. Dit element fungeert als een placeholder; proberen er toegang toe te krijgen resulteert in ongedefinieerd gedrag.
data()Retourneert een referentie naar de interne datastructuur die wordt gebruikt om de array‑elementen op te slaan.
data() constRetourneert een constante referentie naar de interne datastructuur die wordt gebruikt om de array‑elementen op te slaan.
data_ptr()Retourneert een ruwe pointer naar het begin van de geheugenbuffer waarin de array‑elementen worden opgeslagen.
data_ptr() constRetourneert een constante ruwe pointer naar het begin van de geheugenbuffer waarin de array‑elementen worden opgeslagen.
end()Retourneert een iterator naar het element dat volgt op het laatste element van de container. Dit element fungeert als een placeholder; proberen er toegang toe te krijgen resulteert in ongedefinieerd gedrag.
end() constRetourneert een iterator naar het element dat volgt op het laatste element van de const-gekwalificeerde container. Dit element fungeert als een placeholder; proberen er toegang toe te krijgen resulteert in ongedefinieerd gedrag.
static Exists(ArrayPtr<T>, std::function<bool(T)>)Bepaalt of het opgegeven Array‑object een element bevat dat voldoet aan de eisen van het opgegeven predicaat.
static Find(System::ArrayPtr<T>, System::Predicate<T>)Zoekt naar het eerste element in de opgegeven array dat voldoet aan de voorwaarden van het opgegeven predicaat.
static FindAll(System::ArrayPtr<T>, System::Predicate<T>)Haalt alle elementen op die voldoen aan de door het opgegeven predicaat gedefinieerde voorwaarden.
static FindIndex(System::ArrayPtr<T>, System::Predicate<T>)Zoekt naar het eerste element in de opgegeven array dat voldoet aan de voorwaarden van het opgegeven predicaat.
static ForEach(const ArrayPtr<T>&, System::Action<T>)Voert de opgegeven actie uit op elk element van de opgegeven array.
get_Count() const overrideRetourneert de grootte van de array.
get_IsReadOnly() const overrideGeeft aan of de array alleen-lezen is.
get_Length() constRetourneert een 32‑bit integer die het totale aantal elementen in alle dimensies van de array weergeeft.
get_LongLength() constRetourneert een 64‑bit integer die het totale aantal elementen in alle dimensies van de array weergeeft.
get_Rank() constNOG NIET GEÏMPLENTEERD.
GetEnumerator() overrideRetourneert een pointer naar het Enumerator object dat een IEnumerator‑interface biedt voor de elementen van de array die door het huidige object wordt vertegenwoordigd.
GetLength(int)Retourneert het aantal elementen in de opgegeven dimensie.
GetLongLength(int)Retourneert het aantal elementen in de opgegeven dimensie als 64‑bit geheel getal.
GetLowerBound(int) constRetourneert de ondergrens van de opgegeven dimensie.
GetSizeTLength() constRetourneert een std::size_t‑variabele die het totale aantal elementen in alle dimensies van de array weergeeft.
GetUpperBound(int)Retourneert de bovengrens van de opgegeven dimensie.
idx_get(int) const overrideRetourneert het item op de opgegeven index.
idx_set(int, T) overrideStelt de opgegeven waarde in als het item van de array op de opgegeven index.
IndexOf(const T&) const overrideBepaalt de index van de eerste voorkoming van het opgegeven item in de array.
static IndexOf(const ArrayPtr<ArrayType>&, const ValueType&)Bepaalt de index van de eerste voorkoming van het opgegeven item in de array.
static IndexOf(const ArrayPtr<ArrayType>&, const ValueType&, int)Bepaalt de index van de eerste voorkoming van het opgegeven item in de array, beginnend vanaf de opgegeven index.
static IndexOf(const ArrayPtr<ArrayType>&, const ValueType&, int, int)Bepaalt de index van de eerste voorkoming van het opgegeven item in een bereik van items van de array, gespecificeerd door de startindex en het aantal elementen in het bereik.
Init(const T)Vult de door het huidige object vertegenwoordigde array met de waarden uit de opgegeven array.
Initialize()Vult de array met de standaard geconstrueerde objecten van type T.
Insert(int, const T&) overrideNiet ondersteund omdat de door het huidige object vertegenwoordigde array alleen-lezen is.
static LastIndexOf(const ArrayPtr<ArrayType>&, const ValueType&, int, int)Bepaalt de index van de laatste voorkoming van het opgegeven item in een bereik van items van de array, gespecificeerd door de startindex en het aantal elementen in het bereik.
static LastIndexOf(const ArrayPtr<ArrayType>&, const ValueType&, int)Bepaalt de index van de laatste voorkoming van het opgegeven item in de array, beginnend vanaf de opgegeven index.
static LastIndexOf(const ArrayPtr<ArrayType>&, const ValueType&)Bepaalt de index van de laatste voorkoming van het opgegeven item in de array.
Max() constVindt het grootste element in de array met behulp van operator<() om elementen te vergelijken.
Min() constVindt het kleinste element in de array met behulp van operator<() om elementen te vergelijken.
operator[](int)Retourneert een item op de opgegeven index.
operator[](int) constRetourneert een item op de opgegeven index.
rbegin()Retourneert een reverse-iterator naar het eerste element van de omgekeerde container. Het correspondeert met het laatste element van de niet-omgekeerde container. Als de container leeg is, is de geretourneerde iterator gelijk aan rend().
rbegin() constRetourneert een reverse-iterator naar het eerste element van de omgekeerde container. Het correspondeert met het laatste element van de niet-omgekeerde container. Als de container leeg is, is de geretourneerde iterator gelijk aan rend().
Remove(const T&) overrideNiet ondersteund omdat de array die door het huidige object wordt weergegeven alleen-lezen is.
RemoveAt(int) overrideNiet ondersteund omdat de door het huidige object vertegenwoordigde array alleen-lezen is.
rend()Retourneert een reverse-iterator naar het element dat volgt op het laatste element van de omgekeerde container. Het correspondeert met het element dat voorafgaat aan het eerste element van de niet-omgekeerde container. Dit element fungeert als een placeholder; proberen er toegang toe te krijgen resulteert in ongedefinieerd gedrag.
rend() constRetourneert een reverse-iterator naar het element dat volgt op het laatste element van de omgekeerde container. Het correspondeert met het element dat voorafgaat aan het eerste element van de niet-omgekeerde container. Dit element fungeert als een placeholder; proberen er toegang toe te krijgen resulteert in ongedefinieerd gedrag.
static Resize(ArrayPtr<Type>&, int)Wijzigt de grootte van de opgegeven array naar de opgegeven waarde of maakt een nieuwe array met de opgegeven grootte.
static Reverse(const ArrayPtr<Type>&)Keert de elementen in de opgegeven array om.
static Reverse(const ArrayPtr<Type>&, int, int)Keert een bereik van elementen in de opgegeven array om.
SetTemplateWeakPtr(uint32_t) overrideLaat de array opgeslagen pointers als zwak behandelen (indien van toepassing).
SetValue(const T&, int)Stelt de waarde van het element op de opgegeven index in.
static Sort(const ArrayPtr<Type>&)Sorteert elementen in de opgegeven array met behulp van de standaardvergelijker.
static Sort(const ArrayPtr<Type>&, int, int)Sorteert een bereik van elementen in de opgegeven array met behulp van de standaardvergelijker.
static Sort(const ArrayPtr<Type>&, const SharedPtr<System::Collections::Generic::IComparer<T>>&)Sorteert elementen in de opgegeven array met behulp van de opgegeven vergelijker.
static Sort(const ArrayPtr<Type>&, const SharedPtr<System::Collections::Generic::IComparer<Y>>&)NOG NIET GEÏMPLENTEERD.
static Sort(const ArrayPtr<TKey>&, const ArrayPtr<TValue>&)Sorteert twee arrays, één met sleutels en de andere - overeenkomstige items, gebaseerd op de waarden van de array met sleutels, waarvan de elementen worden vergeleken met behulp van operator<.
static Sort(const ArrayPtr<TKey>&, const ArrayPtr<TValue>&, int, int)Sorteert twee arrays, één met sleutels en de andere - overeenkomstige items, gebaseerd op de waarden van de array met sleutels, waarvan de elementen worden vergeleken met behulp van de standaardvergelijker.
static TrueForAll(System::ArrayPtr<T>, System::Predicate<T>)Bepaalt of alle elementen in de opgegeven array voldoen aan de voorwaarden die door het opgegeven predicaat zijn gedefinieerd.
virtualizeBeginConstIterator() const overrideHaalt de implementatie van begin const iterator voor de huidige container op.
virtualizeBeginIterator() overrideHaalt de implementatie van begin iterator voor de huidige container op.
virtualizeEndConstIterator() const overrideHaalt de implementatie van end const iterator voor de huidige container op.
virtualizeEndIterator() overrideHaalt de implementatie van end iterator voor de huidige container op.

Typedefs

TypedefBeschrijving
const_iteratorConst-iterator type.
const_reverse_iteratorConst reverse-iterator type.
EnumerablePtrEen alias voor een shared pointer-type dat naar een IEnumerable-object wijst dat elementen van type T bevat.
EnumeratorPtrEen alias voor een shared pointer-type dat naar een IEnumerator-object wijst dat elementen van type T bevat.
iteratorIterator type.
reverse_iteratorReverse-iterator type.
UnderlyingTypeAlias voor het type dat wordt gebruikt om elk element van de array te vertegenwoordigen.
ValueTypeAlias voor het type van de elementen van de array.

Opmerkingen

#include <system/array.h>
#include <system/smart_ptr.h>

using namespace System;

void Print(const SmartPtr<Array<int32_t>> &arrayPtr)
{
  for (auto item: arrayPtr)
  {
    std::cout << item << ' ';
  }
  std::cout << std::endl;
}

int main()
{
  // Maak en vul de array.
  auto arrayPtr = MakeObject<Array<int32_t>>(5, 0);
  for (auto i = 0; i < arrayPtr->get_Length(); ++i)
  {
    arrayPtr[i] = 5 - i;
  }

  // Print de array-items.
  Print(arrayPtr);

  // Sorteer de array-items oplopend.
  Array<int32_t>::Sort(arrayPtr);

  // Print de array-items.
  Print(arrayPtr);

  // Print het aantal van de array-items.
  std::cout << arrayPtr->get_Length() << std::endl;

  // Print de index van het item dat gelijk is aan 4.
  std::cout << arrayPtr->IndexOf(4) << std::endl;

  // Wijzig de grootte van de array.
  Array<int32_t>::Resize(arrayPtr, 3);

  // Print de array-items.
  Print(arrayPtr);

  return 0;
}
/*
This code example produces the following output:
5 4 3 2 1
1 2 3 4 5
5
3
1 2 3
*/

Zie ook