<cliext/adapter>
(STL/CLR)
STL/CLR üst bilgisi <cliext/adapter>
iki sınıf şablonu (collection_adapter
ve ) ve range_adapter
işlev şablonunu make_collection
belirtir.
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 nullptr
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(collection_adapter<Coll>^ right);
ile right->base()
depolanan tanıtıcıyı başlatır.
Oluşturucu:
collection_adapter(Coll^ collection);
ile collection
depolanan 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 Key
eş 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 Value
eş 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 right
depolanan 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
right
depolanan 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 Value
eş 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 right
depolanan 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 right
yineleyici çiftini başlatır.
Oluşturucu:
range_adapter(range_adapter<Iter>^ right);
içinde depolanan çifti kopyalayarak depolanan *right
yineleyici çiftini başlatır.
Oluşturucu:
range_adapter(Iter^ first, last);
ve last
ile 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