2011-07-04 33 views
7

Yineleyici uygulamasının bazı bileşenlerini gizlemek için iterator_facade'ı kullanmayı öğreniyorum. Geçerli kullanım durumumda başka bir kapsayıcıyı (.NET kodundan, aslında) silerim, böylece begin(), end(), typedefs, vb.) Gerekir. En azından sonuç türünün BOOST_FOREACH ile çalışmasını istiyorum. Bunu basitleştirmek için uygun bir şey var mı?Boost'ta bir konteyner cephesi var mı?

cevap

3

boost::iterator_range numaralı belgede verilen kapsayıcıdan bir çift yineleyiciyi Boost.Range kitaplığından dolduracağım.

+0

"Verilen" kapsayıcı nedir? Sardığım bir .NET kabı. –

+0

Bu, tüm "begin", "end", "typedef's n" öğelerinde yardımcı olmaz. Iterator_facade'ye bir göz atın, yineleyicilerin uygulanmasını kolaylaştırır * büyük ölçüde *. – Xeo

+0

@Xeo: Bağlantılı sınıf özeti, "typ" ve "end" nin yanı sıra söz konusu typedeflerin uygulamalarını açıkça gösterir. – ildjarn