+ typedef iterator_range<CUVector::iterator> cu_iterator_range;
+ typedef iterator_range<TUVector::iterator> tu_iterator_range;
+
+ /// Get compile units in this context.
+ cu_iterator_range compile_units() {
+ parseCompileUnits();
+ return cu_iterator_range(CUs.begin(), CUs.end());
+ }
+
+ /// Get type units in this context.
+ tu_iterator_range type_units() {
+ parseTypeUnits();
+ return tu_iterator_range(TUs.begin(), TUs.end());
+ }
+
+ /// Get compile units in the DWO context.
+ cu_iterator_range dwo_compile_units() {
+ parseDWOCompileUnits();
+ return cu_iterator_range(DWOCUs.begin(), DWOCUs.end());
+ }
+
+ /// Get type units in the DWO context.
+ tu_iterator_range dwo_type_units() {
+ parseDWOTypeUnits();
+ return tu_iterator_range(DWOTUs.begin(), DWOTUs.end());
+ }
+