<cliext/adapter> (STL/CLR)

STL/CLR üst bilgisi <cliext/adapter> iki sınıf şablonu (collection_adapter ve ) ve range_adapterişlev şablonunu make_collectionbelirtir.

Sözdizimi

#include <cliext/adapter>

Gereksinimler

Üst bilgi:<cliext/adapter>

Ad alanı: cliext

Bildirimler

Sınıf Açıklama
collection_adapter Temel Sınıf Kitaplığı (BCL) koleksiyonunu bir aralık olarak sarmalar.
range_adapter Aralığı BCL koleksiyonu olarak sarmalar.
İşlev Açıklama
make_collection Yineleyici çifti kullanarak bir aralık bağdaştırıcısı oluşturur.

Üyeler

collection_adapter

Bir .NET koleksiyonunu STL/CLR kapsayıcısı olarak kullanmak üzere sarmalar. A collection_adapter , basit bir STL/CLR kapsayıcı nesnesini açıklayan bir şablon sınıfıdır. Bir Temel Sınıf Kitaplığı (BCL) arabirimini sarmalar ve denetlenen diziyi işlemek için kullandığınız bir yineleyici çifti döndürür.

Sözdizimi

template<typename Coll>
    ref class collection_adapter;

template<>
    ref class collection_adapter<
        System::Collections::ICollection>;
template<>
    ref class collection_adapter<
        System::Collections::IEnumerable>;
template<>
    ref class collection_adapter<
        System::Collections::IList>;
template<>
    ref class collection_adapter<
        System::Collections::IDictionary>;
template<typename Value>
    ref class collection_adapter<
        System::Collections::Generic::ICollection<Value>>;
template<typename Value>
    ref class collection_adapter<
        System::Collections::Generic::IEnumerable<Value>>;
template<typename Value>
    ref class collection_adapter<
        System::Collections::Generic::IList<Value>>;
template<typename Key,
    typename Value>
    ref class collection_adapter<
        System::Collections::Generic::IDictionary<Key, Value>>;

Parametreler

Coll
Sarmalanan koleksiyonun türü.

Uzmanlıklar

Uzmanlığı Açıklama
IEnumerable Öğeler aracılığıyla diziler.
ICollection Bir öğe grubunu korur.
IList Sıralı bir öğe grubunu korur.
IDictionary Bir dizi {key, value} çifti tutun.
IEnumerable<Value> Yazılan öğeler aracılığıyla diziler.
ICollection<Value> Bir grup türlenmiş öğeyi korur.
IList<Value> Sıralı bir türlenmiş öğe grubunu korur.
IDictionary<Value> Yazılan {key, value} çiftleri kümesini korur.

Üyeler

Tür tanımı Açıklama
collection_adapter::difference_type İki öğe arasındaki işaretli mesafenin türü.
collection_adapter::iterator Denetlenen dizi için bir yineleyici türü.
collection_adapter::key_type Sözlük anahtarının türü.
collection_adapter::mapped_type Sözlük değerinin türü.
collection_adapter::reference Bir öğe için bir başvuru türü.
collection_adapter::size_type İki öğe arasındaki işaretli mesafenin türü.
collection_adapter::value_type Öğenin türü.
Üye işlevi Açıklama
collection_adapter::base Sarmalanan BCL arabirimini gösterir.
collection_adapter::begin Denetlenen dizinin başlangıcını belirtir.
collection_adapter::collection_adapter Bir bağdaştırıcı nesnesi oluşturur.
collection_adapter::end Denetlenen dizinin bitişini belirtir.
collection_adapter::size Öğe sayısını sayar.
collection_adapter::swap İki kapsayıcının içeriğinin yerini değiştirir.
Operator Açıklama
collection_adapter::operator= Depolanan BCL tutamacını değiştirir.

Açıklamalar

BCL kapsayıcısını STL/CLR kapsayıcısı olarak işlemek için bu şablon sınıfını kullanırsınız. , collection_adapter bir BCL arabiriminin tanıtıcısını depolar ve bu da bir öğe dizisini denetler. Bir collection_adapter nesne X , öğeleri sırayla ziyaret etmek için kullandığınız bir giriş yineleyici X.begin() X.end() çifti döndürür. Bazı özelleştirmeler, denetlenen dizinin uzunluğunu belirlemek için yazmanıza X.size() da olanak sağlar.

collection_adapter::base

Sarmalanan BCL arabirimini gösterir.

Sözdizimi

Coll^ base();

Açıklamalar

Üye işlevi depolanan BCL arabirim tutamacını döndürür.

Örnek

// cliext_collection_adapter_base.cpp
// compile with: /clr
#include <cliext/adapter>
#include <cliext/deque>

typedef cliext::collection_adapter<
    System::Collections::ICollection> Mycoll;
int main()
    {
    cliext::deque<wchar_t> d6x(6, L'x');
    Mycoll c1(%d6x);

    // display initial contents "x x x x x x "
    for each (wchar_t elem in c1)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

    System::Console::WriteLine("base() same = {0}", c1.base() == %c1);
    return (0);
    }
x x x x x x
base() same = True

collection_adapter::begin

Denetlenen dizinin başlangıcını belirtir.

Sözdizimi

iterator begin();

Açıklamalar

Üye işlevi, denetlenen dizinin ilk öğesini veya boş bir dizinin sonunun hemen ötesinde belirten bir giriş yineleyicisi döndürür.

Örnek

// cliext_collection_adapter_begin.cpp
// compile with: /clr
#include <cliext/adapter>
#include <cliext/deque>

typedef cliext::collection_adapter<
    System::Collections::ICollection> Mycoll;
int main()
{
    cliext::deque<wchar_t> d1;
    d1.push_back(L'a');
    d1.push_back(L'b');
    d1.push_back(L'c');
    Mycoll c1(%d1);

    // display initial contents "a b c "
    for each (wchar_t elem in c1)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

    // inspect first two items
    Mycoll::iterator it = c1.begin();
    System::Console::WriteLine("*begin() = {0}", *it);
    System::Console::WriteLine("*++begin() = {0}", *++it);
    return (0);
}
a b c
*begin() = a
*++begin() = b

collection_adapter::collection_adapter

Bir bağdaştırıcı nesnesi oluşturur.

Sözdizimi

collection_adapter();
collection_adapter(collection_adapter<Coll>% right);
collection_adapter(collection_adapter<Coll>^ right);
collection_adapter(Coll^ collection);

Parametreler

collection
Sarmalama için BCL tutamacı.

right
Kopyalanacak nesne.

Açıklamalar

Oluşturucu:

collection_adapter();

ile nullptrdepolanan tanıtıcıyı başlatır.

Oluşturucu:

collection_adapter(collection_adapter<Coll>% right);

ile right.base()depolanan tanıtıcıyı başlatır.

Oluşturucu:

collection_adapter(collection_adapter<Coll>^ right);

ile right->base()depolanan tanıtıcıyı başlatır.

Oluşturucu:

collection_adapter(Coll^ collection);

ile collectiondepolanan tanıtıcıyı başlatır.

Örnek

// cliext_collection_adapter_construct.cpp
// compile with: /clr
#include <cliext/adapter>
#include <cliext/deque>

typedef cliext::collection_adapter<
    System::Collections::ICollection> Mycoll;
int main()
{
    cliext::deque<wchar_t> d6x(6, L'x');

    // construct an empty container
    Mycoll c1;
    System::Console::WriteLine("base() null = {0}", c1.base() == nullptr);

    // construct with a handle
    Mycoll c2(%d6x);
    for each (wchar_t elem in c2)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

    // construct by copying another container
    Mycoll c3(c2);
    for each (wchar_t elem in c3)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

    // construct by copying a container handle
    Mycoll c4(%c3);
    for each (wchar_t elem in c4)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

    return (0);
}
base() null = True
x x x x x x
x x x x x x
x x x x x x

collection_adapter::difference_type

İki öğe arasındaki imzalı uzaklık türleri.

Sözdizimi

typedef int difference_type;

Açıklamalar

Türü, imzalı öğe sayısını açıklar.

Örnek

// cliext_collection_adapter_difference_type.cpp
// compile with: /clr
#include <cliext/adapter>
#include <cliext/deque>

typedef cliext::collection_adapter<
    System::Collections::ICollection> Mycoll;
int main()
{
    cliext::deque<wchar_t> d1;
    d1.push_back(L'a');
    d1.push_back(L'b');
    d1.push_back(L'c');
    Mycoll c1(%d1);

    // display initial contents "a b c "
    for each (wchar_t elem in c1)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

    // compute positive difference
    Mycoll::difference_type diff = 0;
    Mycoll::iterator it = c1.begin();
    for (; it != c1.end(); ++it)
        ++diff;
    System::Console::WriteLine("end()-begin() = {0}", diff);
    return (0);
}
a b c
end()-begin() = 3

collection_adapter::end

Denetlenen dizinin bitişini belirtir.

Sözdizimi

iterator end();

Açıklamalar

Üye işlevi, denetlenen sıranın sonunun hemen ötesine işaret eden bir giriş yineleyicisi döndürür.

Örnek

// cliext_collection_adapter_end.cpp
// compile with: /clr
#include <cliext/adapter>
#include <cliext/deque>

typedef cliext::collection_adapter<
    System::Collections::ICollection> Mycoll;
int main()
{
    cliext::deque<wchar_t> d1;
    d1.push_back(L'a');
    d1.push_back(L'b');
    d1.push_back(L'c');
    Mycoll c1(%d1);

    // display initial contents "a b c "
    Mycoll::iterator it = c1.begin();
    for (; it != c1.end(); ++it)
        System::Console::Write("{0} ", *it);
    System::Console::WriteLine();
    return (0);
}
a b c

collection_adapter::iterator

Denetlenen dizi için bir yineleyici türü.

Sözdizimi

typedef T1 iterator;

Açıklamalar

türü, denetlenen dizi için giriş yineleyicisi olarak görev yapabilecek belirtilmemiş türdeki T1 bir nesneyi açıklar.

Örnek

// cliext_collection_adapter_iterator.cpp
// compile with: /clr
#include <cliext/adapter>
#include <cliext/deque>

typedef cliext::collection_adapter<
    System::Collections::ICollection> Mycoll;
int main()
{
    cliext::deque<wchar_t> d1;
    d1.push_back(L'a');
    d1.push_back(L'b');
    d1.push_back(L'c');
    Mycoll c1(%d1);

    // display initial contents "a b c "
    Mycoll::iterator it = c1.begin();
    for (; it != c1.end(); ++it)
        System::Console::Write("{0} ", *it);
    System::Console::WriteLine();
    return (0);
}
a b c

collection_adapter::key_type

Sözlük anahtarının türü.

Sözdizimi

typedef Key key_type;

Açıklamalar

türü, veya IDictionary<Value>için bir özelleştirmede IDictionary şablon parametresinin Keyeş anlamlısıdır; aksi takdirde tanımlanmamıştır.

Örnek

// cliext_collection_adapter_key_type.cpp
// compile with: /clr
#include <cliext/adapter>
#include <cliext/map>

typedef cliext::map<wchar_t, int> Mymap;
typedef cliext::collection_adapter<
    System::Collections::Generic::IDictionary<wchar_t, int>> Mycoll;
typedef System::Collections::Generic::KeyValuePair<wchar_t,int> Mypair;
int main()
{
    Mymap d1;
    d1.insert(Mymap::make_value(L'a', 1));
    d1.insert(Mymap::make_value(L'b', 2));
    d1.insert(Mymap::make_value(L'c', 3));
    Mycoll c1(%d1);

    // display contents "[a 1] [b 2] [c 3] "
    for each (Mypair elem in c1)
    {
        Mycoll::key_type key = elem.Key;
        Mycoll::mapped_type value = elem.Value;
        System::Console::Write("[{0} {1}] ", key, value);
    }
    System::Console::WriteLine();
    return (0);
}
[a 1] [b 2] [c 3]

collection_adapter::mapped_type

Sözlük değerinin türü.

Sözdizimi

typedef Value mapped_type;

Açıklamalar

türü, veya IDictionary<Value>için bir özelleştirmede IDictionary şablon parametresinin Valueeş anlamlısıdır; aksi takdirde tanımlanmamıştır.

Örnek

// cliext_collection_adapter_mapped_type.cpp
// compile with: /clr
#include <cliext/adapter>
#include <cliext/map>

typedef cliext::map<wchar_t, int> Mymap;
typedef cliext::collection_adapter<
    System::Collections::Generic::IDictionary<wchar_t, int>> Mycoll;
typedef System::Collections::Generic::KeyValuePair<wchar_t,int> Mypair;
int main()
{
    Mymap d1;
    d1.insert(Mymap::make_value(L'a', 1));
    d1.insert(Mymap::make_value(L'b', 2));
    d1.insert(Mymap::make_value(L'c', 3));
    Mycoll c1(%d1);

    // display contents "[a 1] [b 2] [c 3] "
    for each (Mypair elem in c1)
    {
        Mycoll::key_type key = elem.Key;
        Mycoll::mapped_type value = elem.Value;
        System::Console::Write("[{0} {1}] ", key, value);
    }
    System::Console::WriteLine();
    return (0);
}
[a 1] [b 2] [c 3]

collection_adapter::operator=

Depolanan BCL tutamacını değiştirir.

Sözdizimi

collection_adapter<Coll>% operator=(collection_adapter<Coll>% right);

Parametreler

right
Kopyalanacak bağdaştırıcı.

Açıklamalar

Üye işleci nesnesine kopyalanır right ve döndürür *this. Bunu, depolanan BCL tutamacını içinde rightdepolanan BCL tanıtıcısının bir kopyasıyla değiştirmek için kullanırsınız.

Örnek

// cliext_collection_adapter_operator_as.cpp
// compile with: /clr
#include <cliext/adapter>
#include <cliext/deque>

typedef cliext::collection_adapter<
    System::Collections::ICollection> Mycoll;
int main()
{
    cliext::deque<wchar_t> d1;
    d1.push_back(L'a');
    d1.push_back(L'b');
    d1.push_back(L'c');
    Mycoll c1(%d1);

    // display initial contents "a b c "
    for each (wchar_t elem in c1)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

    // assign to a new container
    Mycoll c2;
    c2 = c1;
    for each (wchar_t elem in c2)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();
    return (0);
}
a b c
a b c

collection_adapter::reference

Bir öğe için bir başvuru türü.

Sözdizimi

typedef value_type% reference;

Açıklamalar

türü, bir öğeye başvuruyu açıklar.

Örnek

// cliext_collection_adapter_reference.cpp
// compile with: /clr
#include <cliext/adapter>
#include <cliext/deque>

typedef cliext::collection_adapter<
    System::Collections::ICollection> Mycoll;
int main()
    {
    cliext::deque<wchar_t> d1;
    d1.push_back(L'a');
    d1.push_back(L'b');
    d1.push_back(L'c');
    Mycoll c1(%d1);

    // display initial contents "a b c "
    Mycoll::iterator it = c1.begin();
    for (; it != c1.end(); ++it)
    {   // get a reference to an element
        Mycoll::reference ref = *it;
        System::Console::Write("{0} ", ref);
    }
    System::Console::WriteLine();
    return (0);
}
a b c

collection_adapter::size

Öğe sayısını sayar.

Sözdizimi

size_type size();

Açıklamalar

Üye işlevi, denetlenen sıranın uzunluğunu döndürür. veya IEnumerable<Value>için IEnumerable bir özelleştirmede tanımlanmamıştır.

Örnek

// cliext_collection_adapter_size.cpp
// compile with: /clr
#include <cliext/adapter>
#include <cliext/deque>

typedef cliext::collection_adapter<
    System::Collections::ICollection> Mycoll;
int main()
{
    cliext::deque<wchar_t> d6x(6, L'x');
    Mycoll c1(%d6x);

    // display initial contents "x x x x x x "
    for each (wchar_t elem in c1)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();
    System::Console::WriteLine("size() = {0}", c1.size());
    return (0);
}
x x x x x x
size() = 6

collection_adapter::size_type

İki öğe arasındaki işaretli mesafenin türü.

Sözdizimi

typedef int size_type;

Açıklamalar

Türü negatif olmayan öğe sayısını açıklar.

Örnek

// cliext_collection_adapter_size_type.cpp
// compile with: /clr
#include <cliext/adapter>
#include <cliext/deque>

typedef cliext::collection_adapter<
    System::Collections::ICollection> Mycoll;
int main()
{
    cliext::deque<wchar_t> d6x(6, L'x');
    Mycoll c1(%d6x);

    // display initial contents "x x x x x x"
    for each (wchar_t elem in c1)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

    Mycoll::size_type size = c1.size();
    System::Console::WriteLine("size() = {0}", size);
    return (0);
}
x x x x x x
size() = 6

collection_adapter::swap

İki kapsayıcının içeriğinin yerini değiştirir.

Sözdizimi

void swap(collection_adapter<Coll>% right);

Parametreler

right
İçindekileri değiştirecek kapsayıcı.

Açıklamalar

Üye işlevi, ve arasında *this rightdepolanan BCL tanıtıcılarını değiştirir.

Örnek

// cliext_collection_adapter_swap.cpp
// compile with: /clr
#include <cliext/adapter>
#include <cliext/deque>

typedef cliext::collection_adapter<
    System::Collections::ICollection> Mycoll;
int main()
{
    cliext::deque<wchar_t> d1;
    d1.push_back(L'a');
    d1.push_back(L'b');
    d1.push_back(L'c');
    Mycoll c1(%d1);

    // display initial contents " a b c"
    for each (wchar_t elem in c1)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

    // construct another container with repetition of values
    cliext::deque<wchar_t> d2(5, L'x');
    Mycoll c2(%d2);
    for each (wchar_t elem in c2)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

    // swap and redisplay
    c1.swap(c2);
    for each (wchar_t elem in c1)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

    for each (wchar_t elem in c2)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();
    return (0);
}
a b c
x x x x x
x x x x x
a b c

collection_adapter::value_type

Öğenin türü.

Sözdizimi

typedef Value value_type;

Açıklamalar

türü, uzmanlık alanında varsa şablon parametresinin Valueeş anlamlısı olur; aksi takdirde için System::Object^bir eş anlamlıdır.

Örnek

// cliext_collection_adapter_value_type.cpp
// compile with: /clr
#include <cliext/adapter>
#include <cliext/deque>

typedef cliext::collection_adapter<
    System::Collections::ICollection> Mycoll;
int main()
{
    cliext::deque<wchar_t> d1;
    d1.push_back(L'a');
    d1.push_back(L'b');
    d1.push_back(L'c');
    Mycoll c1(%d1);

    // display contents "a b c" using value_type
    for (Mycoll::iterator it = c1.begin();
        it != c1.end(); ++it)
    {   // store element in value_type object
        Mycoll::value_type val = *it;

        System::Console::Write("{0} ", val);
    }
    System::Console::WriteLine();
    return (0);
}
a b c

make_collection (STL/CLR)

range_adapter Yineleyici çiftinden bir tane yapın.

Sözdizimi

template<typename Iter>
    range_adapter<Iter> make_collection(Iter first, Iter last);

Parametreler

Iter
Sarmalanan yineleyicilerin türü.

first
Sarmalama için ilk yineleyici.

last
Sarmalama için ikinci yineleyici.

Açıklamalar

İşlev şablonu döndürür gcnew range_adapter<Iter>(first, last). Bunu, bir çift yineleyiciden nesne range_adapter<Iter> oluşturmak için kullanırsınız.

Örnek

// cliext_make_collection.cpp
// compile with: /clr
#include <cliext/adapter>
#include <cliext/deque>

typedef cliext::deque<wchar_t> Mycont;
typedef cliext::range_adapter<Mycont::iterator> Myrange;
int main()
{
    cliext::deque<wchar_t> d1;
    d1.push_back(L'a');
    d1.push_back(L'b');
    d1.push_back(L'c');

    // display contents " a b c"
    for each (wchar_t elem in d1)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

    System::Collections::ICollection^ p1 =
        cliext::make_collection(d1.begin(), d1.end());
    System::Console::WriteLine("Count = {0}", p1->Count);
    System::Console::WriteLine("IsSynchronized = {0}",
        p1->IsSynchronized);
    System::Console::WriteLine("SyncRoot not nullptr = {0}",
        p1->SyncRoot != nullptr);

    // copy the sequence
    cli::array<System::Object^>^ a1 = gcnew cli::array<System::Object^>(5);

    a1[0] = L'|';
    p1->CopyTo(a1, 1);
    a1[4] = L'|';
    for each (wchar_t elem in a1)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

    return (0);
}
a b c
Count = 3
IsSynchronized = False
SyncRoot not nullptr = True
| a b c |

range_adapter (STL/CLR)

Birkaç Temel Sınıf Kitaplığı (BCL) arabirimini uygulamak için kullanılan bir çift yineleyiciyi sarmalayan bir şablon sınıfı. bir STL/CLR aralığını BCL koleksiyonu gibi işlemek için range_adapter kullanırsınız.

Sözdizimi

template<typename Iter>
    ref class range_adapter
        :   public
        System::Collections::IEnumerable,
        System::Collections::ICollection,
        System::Collections::Generic::IEnumerable<Value>,
        System::Collections::Generic::ICollection<Value>
    { ..... };

Parametreler

Iter
Sarmalanan yineleyicilerle ilişkili tür.

Üyeler

Üye işlevi Açıklama
range_adapter::range_adapter Bir bağdaştırıcı nesnesi oluşturur.
Operator Açıklama
range_adapter::operator= Depolanan yineleyici çiftinin yerini alır.

Arabirimler

Arabirim Açıklama
IEnumerable Koleksiyondaki öğeler arasında yinelemeler.
ICollection Bir öğe grubunu korur.
IEnumerable<T> Koleksiyondaki yazılan öğeler arasında yinelemeler.
ICollection<T> Bir grup türlenmiş öğeyi korur.

Açıklamalar

range_adapter, bir dizi öğeyi sınırlayan bir çift yineleyici depolar. nesnesi, öğeleri sırayla yinelemenize olanak sağlayan dört BCL arabirimi uygular. BCL kapsayıcılarına çok benzeyen STL/CLR aralıklarını işlemek için bu şablon sınıfını kullanırsınız.

range_adapter::operator=

Depolanan yineleyici çiftinin yerini alır.

Sözdizimi

range_adapter<Iter>% operator=(range_adapter<Iter>% right);

Parametreler

right
Kopyalanacak bağdaştırıcı.

Açıklamalar

Üye işleci nesnesine kopyalanır right ve döndürür *this. Bunu, depolanan yineleyici çiftini içinde rightdepolanan yineleyici çiftinin bir kopyasıyla değiştirmek için kullanırsınız.

Örnek

// cliext_range_adapter_operator_as.cpp
// compile with: /clr
#include <cliext/adapter>
#include <cliext/deque>

typedef cliext::deque<wchar_t> Mycont;
typedef cliext::range_adapter<Mycont::iterator> Myrange;
int main()
{
    cliext::deque<wchar_t> d1;
    d1.push_back(L'a');
    d1.push_back(L'b');
    d1.push_back(L'c');
    Myrange c1(d1.begin(), d1.end());

    // display contents " a b c"
    for each (wchar_t elem in c1)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

    // assign to a new container
    Myrange c2;
    c2 = c1;
    for each (wchar_t elem in c2)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();
    return (0);
}
a b c
a b c

range_adapter::range_adapter

Bir bağdaştırıcı nesnesi oluşturur.

Sözdizimi

range_adapter();
range_adapter(range_adapter<Iter>% right);
range_adapter(range_adapter<Iter>^ right);
range_adapter(Iter first, Iter last);

Parametreler

first
Sarmalama için ilk yineleyici.

last
Sarmalama için ikinci yineleyici.

right
Kopyalanacak nesne.

Açıklamalar

Oluşturucu:

range_adapter();

depolanan yineleyici çiftini varsayılan olarak inşa edilmiş yineleyicilerle başlatır.

Oluşturucu:

range_adapter(range_adapter<Iter>% right);

içinde depolanan çifti kopyalayarak depolanan rightyineleyici çiftini başlatır.

Oluşturucu:

range_adapter(range_adapter<Iter>^ right);

içinde depolanan çifti kopyalayarak depolanan *rightyineleyici çiftini başlatır.

Oluşturucu:

range_adapter(Iter^ first, last);

ve lastile first depolanan yineleyici çiftini başlatır.

Örnek

// cliext_range_adapter_construct.cpp
// compile with: /clr
#include <cliext/adapter>
#include <cliext/deque>

typedef cliext::deque<wchar_t> Mycont;
typedef cliext::range_adapter<Mycont::iterator> Myrange;
int main()
{
    cliext::deque<wchar_t> d1;
    d1.push_back(L'a');
    d1.push_back(L'b');
    d1.push_back(L'c');

    // construct an empty adapter
    Myrange c1;

    // construct with an iterator pair
    Myrange c2(d1.begin(), d1.end());
    for each (wchar_t elem in c2)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

    // construct by copying another adapter
    Myrange c3(c2);
    for each (wchar_t elem in c3)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

    // construct by copying an adapter handle
    Myrange c4(%c3);
    for each (wchar_t elem in c4)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

    return (0);
}
a b c
a b c
a b c