[#llvm-iterator_range-0b] = xref:llvm.adoc[llvm]::iterator_range :relfileprefix: ../ :mrdocs: A range adaptor for a pair of iterators. == Synopsis Declared in `<llvm/ADT/iterator_range.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<typename IteratorT> class iterator_range; ---- == Description This just wraps two iterators into a range‐compatible interface. Nothing fancy at all. == Member Functions [cols="1,4"] |=== | Name| Description | xref:llvm/iterator_range-0b/2constructor-04.adoc[`iterator_range`] [.small]#[constructor]# | Constructors | xref:llvm/iterator_range-0b/begin.adoc[`begin`] | Return an iterator to the first element. | xref:llvm/iterator_range-0b/empty.adoc[`empty`] | Return true if the range contains no elements. | xref:llvm/iterator_range-0b/end.adoc[`end`] | Return an iterator past the last element. |=== == Deduction Guides [cols="1,4"] |=== | Name| Description | xref:llvm/iterator_range-0c.adoc[`iterator_range</* implementation-defined */>`] | Deduction guide for constructing an iterator_range from a container. |=== == Non-Member Functions [cols="1,4"] |=== | Name| Description | xref:llvm/breadth_first.adoc[`breadth_first`] | Return a range that visits `G` in breadth‐first order. | xref:llvm/children.adoc[`children`] | Return a range over the children of node `G.` | xref:llvm/children_edges.adoc[`children_edges`] | Return a range over the outgoing child edges of node `G.` | xref:llvm/const_mi_bundle_ops.adoc[`const_mi_bundle_ops`] | Return a range over all operands in the const bundle containing `MI.` | xref:llvm/def_chain.adoc[`def_chain`] | Return a range walking defining accesses from `MA` up to `UpTo.` | xref:llvm/depth_first.adoc[`depth_first`] | Return a range that visits `G` in depth‐first order. | xref:llvm/depth_first_ext.adoc[`depth_first_ext`] | Return a range that visits `G` in depth‐first order using visited set `S.` | xref:llvm/getDbgRecordRange.adoc[`getDbgRecordRange`] | Return the range of DbgRecords attached to `DebugMarker.` | xref:llvm/inverse_children.adoc[`inverse_children`] | Return a range over the inverse‐order children of node `G.` | xref:llvm/inverse_depth_first.adoc[`inverse_depth_first`] | Return a range that visits the inverse of `G` in depth‐first order. | xref:llvm/inverse_depth_first_ext.adoc[`inverse_depth_first_ext`] | Return a range that visits the inverse of `G` in depth‐first order using visited set `S.` | xref:llvm/inverse_nodes.adoc[`inverse_nodes`] | Return a range over all nodes of `G` in inverse graph order. | xref:llvm/isGuaranteedToTransferExecutionToSuccessor-01a.adoc[`isGuaranteedToTransferExecutionToSuccessor`] | Same as previous, but with range expressed via iterator_range. | xref:llvm/make_early_inc_range.adoc[`make_early_inc_range`] | Make a range that does early increment to allow mutation of the underlying range without disrupting iteration. | xref:llvm/make_fallible_range.adoc[`make_fallible_range`] | Build an iterator range whose increments report failure through `Err.` | xref:llvm/make_filter_range.adoc[`make_filter_range`] | Convenience function that takes a range of elements and a predicate, and return a new filter_iterator range. | xref:llvm/make_pointee_range-06.adoc[`make_pointee_range`] | Return a range that iterates over the pointees of `Range.` | xref:llvm/make_pointee_range-08.adoc[`make_pointee_range`] | Return a range that iterates over the pointees of `Range.` | xref:llvm/make_pointer_range.adoc[`make_pointer_range`] | Return a range whose iterators expose addresses of elements in `Range.` | xref:llvm/make_range-06.adoc[`make_range`] | Construct an iterator_range from a pair of iterators. | xref:llvm/make_range-07.adoc[`make_range`] | Convenience function for iterating over sub‐ranges. | xref:llvm/mi_bundle_ops.adoc[`mi_bundle_ops`] | Return a range over all operands in the bundle containing `MI.` | xref:llvm/nodes.adoc[`nodes`] | Return a range over all nodes of graph `G.` | xref:llvm/optimized_def_chain.adoc[`optimized_def_chain`] | Return a range walking the optimized clobbering‐access chain from `MA.` | xref:llvm/phys_regs_and_masks.adoc[`phys_regs_and_masks`] | Returns an iterator range over all physical register and mask operands for `MI` and bundled instructions. This also skips any debug operands. | xref:llvm/split-037.adoc[`split`] | Iterate over partitions of a string split on character `Separator.` | xref:llvm/split-03c.adoc[`split`] | Iterate over partitions of a string split on `Separator.` | xref:llvm/upward_defs.adoc[`upward_defs`] | Return a range walking upward defs from `Pair` with phi translation. | xref:llvm/cl/getRegisteredSubcommands.adoc[`cl::getRegisteredSubcommands`] | Use this to get all registered SubCommands from the provided parser. | xref:llvm/directive-07/FindName.adoc[`directive::FindName`] | Find the first spelling in a range that applies to a language version. | xref:llvm/orc/getConstructors.adoc[`orc::getConstructors`] | Create an iterator range over the entries of the llvm.global_ctors array. | xref:llvm/orc/getDestructors.adoc[`orc::getDestructors`] | Create an iterator range over the entries of the llvm.global_dtors array. | xref:llvm/orc/getStaticInitGVs.adoc[`orc::getStaticInitGVs`] | Create an iterator range over the GlobalValues that contribute to static initialization. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#