[#llvm-location_op_iterator] = xref:llvm.adoc[llvm]::location_op_iterator :relfileprefix: ../ :mrdocs: Bidirectional iterator over debug‐info location operands. == Synopsis Declared in `<llvm/IR/IntrinsicInst.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- class location_op_iterator : public xref:llvm/iterator_facade_base-08c.adoc[iterator_facade_base<location_op_iterator, std::bidirectional_iterator_tag, Value*>] ---- == Description Iterates ValueAsMetadata either as a single pointer or as a pointer to an array of ValueAsMetadata*, dereferencing to the underlying Value*. == Base Classes [cols="1,4"] |=== | Name| Description | `xref:llvm/iterator_facade_base-08c.adoc[iterator_facade_base<location_op_iterator, std::bidirectional_iterator_tag, Value*>]` | CRTP base class which implements the entire standard iterator facade in terms of a minimal subset of the interface. |=== == Type Aliases [cols="1,4"] |=== | Name| Description | xref:llvm/location_op_iterator/difference_type.adoc[`difference_type`] | Signed type used to express the distance between iterators. | xref:llvm/location_op_iterator/iterator_category.adoc[`iterator_category`] | Iterator category tag for this facade. | xref:llvm/location_op_iterator/pointer.adoc[`pointer`] | Pointer type returned by the iterator. | xref:llvm/location_op_iterator/reference.adoc[`reference`] | Reference type returned by the iterator. | xref:llvm/location_op_iterator/value_type.adoc[`value_type`] | Value type produced by the iterator. |=== == Enums [cols="1,4"] |=== | Name| Description | xref:llvm/location_op_iterator/_04enum.adoc[`Unnamed enum`] | Capability flags for the iterator category. |=== == Member Functions [cols="1,4"] |=== | Name| Description | xref:llvm/location_op_iterator/2constructor-0c.adoc[`location_op_iterator`] [.small]#[constructor]# | Constructors | xref:llvm/location_op_iterator/operator_assign.adoc[`operator=`] | Copy‐assign a location operand iterator. | xref:llvm/location_op_iterator/operator_star-09.adoc[`operator*`] | Dereference operators | xref:llvm/location_op_iterator/operator_plus.adoc[`operator+`] | Advance the iterator by `n` and return the result. | xref:llvm/location_op_iterator/operator_inc-04.adoc[`operator++`] | Increment operators | xref:llvm/location_op_iterator/operator_minus.adoc[`operator‐`] | Retreat the iterator by `n` and return the result. | xref:llvm/location_op_iterator/operator_dec-08.adoc[`operator‐‐`] | Decrement operators | xref:llvm/location_op_iterator/operator_ptr.adoc[`operator‐>`] | Return a proxy pointer to the current element. | xref:llvm/location_op_iterator/operator_subs.adoc[`operator[]`] | Return a proxy to the element at offset `n.` | xref:llvm/location_op_iterator/operator_eq.adoc[`operator==`] | Return true if both iterators refer to the same location. | xref:llvm/location_op_iterator/operator_le.adoc[`operator<=`] | Return true if this iterator is less than or equal to `RHS.` | xref:llvm/location_op_iterator/operator_gt.adoc[`operator>`] | Return true if this iterator is greater than `RHS.` | xref:llvm/location_op_iterator/operator_ge.adoc[`operator>=`] | Return true if this iterator is greater than or equal to `RHS.` |=== == Protected Types [cols="1,4"] |=== | Name| Description | xref:llvm/location_op_iterator/PointerProxy.adoc[`PointerProxy`] | Proxy that yields a pointer from a copied reference. | xref:llvm/location_op_iterator/ReferenceProxy.adoc[`ReferenceProxy`] | Proxy that yields a reference from a copied iterator. |=== == Non-Member Functions [cols="1,4"] |=== | Name| Description | xref:llvm/operator_plus-0b7.adoc[`operator+`] | Return an iterator `n` positions after `i.` |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#