2011-07-04 27 views
7

Tôi đang học cách sử dụng iterator_facade để ẩn một số bản mẫu của việc thực thi trình lặp. Trong trường hợp sử dụng hiện tại của tôi, tôi đang gói một thùng chứa khác (từ mã .NET), vì vậy tôi cần bắt đầu(), end(), typedefs, v.v. Ở mức tối thiểu, tôi muốn loại kết quả làm việc với BOOST_FOREACH. Có một điều thuận lợi trong việc tăng cường để đơn giản hóa điều đó không?Có mặt tiền chứa trong Boost không?

Trả lời

3

Tôi sẽ quấn một cặp vòng lặp từ vùng chứa đã cho theo số boost::iterator_range từ thư viện Boost.Range.

+0

Vùng chứa "đã cho" là gì? Cái tôi đang gói là một thùng chứa .NET. –

+0

Điều đó không giúp ích gì với tất cả các công cụ 'begin',' end', 'typedef'. Hãy xem 'iterator_facade', nó giúp giảm bớt việc thực hiện các trình lặp * rất nhiều *. – Xeo

+0

@Xeo: Bản tóm tắt lớp được liên kết rõ ràng cho thấy việc triển khai các typedef cũng như 'begin' và' end'. – ildjarn

Các vấn đề liên quan