[#absl-AnySpan-2constructor-0c] = xref:absl.adoc[absl]::xref:absl/AnySpan.adoc[AnySpan]::AnySpan :relfileprefix: ../../ :mrdocs: Constructors == Synopses Declared in `<absl/types/any_span.h>` Constructs an empty (null) span. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- xref:absl/AnySpan/2constructor-08.adoc[AnySpan]() = default; ---- [.small]#xref:absl/AnySpan/2constructor-08.adoc[_» more..._]# Converts a mutable span to a const span by copying its internal state. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< typename LazyT = T, typename = LazyT> constexpr xref:absl/AnySpan/2constructor-04.adoc[AnySpan](xref:absl/AnySpan.adoc[AnySpan<std::remove_const_t<T>>] const& other); ---- [.small]#xref:absl/AnySpan/2constructor-04.adoc[_» more..._]# Constructs a span wrapping another span of a different element type. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< typename Element, typename = xref:absl/AnySpan.adoc[EnableIfDifferentElementType<Element>], typename = xref:absl/AnySpan.adoc[EnableIfTransformIsValid<any_span_transform::IdentityT, Element&>]> constexpr explicit xref:absl/AnySpan/2constructor-01f5.adoc[AnySpan](xref:absl/AnySpan.adoc[AnySpan<Element>] const& other); ---- [.small]#xref:absl/AnySpan/2constructor-01f5.adoc[_» more..._]# Constructs a span wrapping an initializer list. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- constexpr xref:absl/AnySpan/2constructor-0fb.adoc[AnySpan](std::initializer_list<value_type> l); ---- [.small]#xref:absl/AnySpan/2constructor-0fb.adoc[_» more..._]# Constructs a span from an element getter and size. Not for external use. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- xref:absl/AnySpan/2constructor-09f5.adoc[AnySpan]( any_span_internal::Getter<T> getter, xref:absl/AnySpan/size_type.adoc[size_type] size); ---- [.small]#xref:absl/AnySpan/2constructor-09f5.adoc[_» more..._]# Constructs a span wrapping an initializer list, applying a transform. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< typename Element, typename Transform, typename = xref:absl/AnySpan.adoc[EnableIfTransformIsValid<Transform, Element const&>], xref:absl/AnySpan.adoc[EnableIfTransformIsByCopy<Transform>] = true> constexpr xref:absl/AnySpan/2constructor-064.adoc[AnySpan]( std::initializer_list<Element> l, Transform const& transform); ---- [.small]#xref:absl/AnySpan/2constructor-064.adoc[_» more..._]# Constructs a span wrapping an initializer list, applying a transform. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< typename Element, typename Transform = xref:absl/any_span_transform/IdentityT.adoc[any_span_transform::IdentityT], typename = xref:absl/AnySpan.adoc[EnableIfTransformIsValid<Transform, Element const&>], xref:absl/AnySpan.adoc[EnableIfTransformIsByRef<Transform>] = true> constexpr xref:absl/AnySpan/2constructor-027.adoc[AnySpan]( std::initializer_list<Element> l, Transform const& transform = any_span_transform::Identity()); ---- [.small]#xref:absl/AnySpan/2constructor-027.adoc[_» more..._]# Constructs a span wrapping another span, applying a transform (by copy). [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< typename Element, typename Transform, typename = xref:absl/AnySpan.adoc[EnableIfTransformIsValid<Transform, Element&>], xref:absl/AnySpan.adoc[EnableIfTransformIsByCopy<Transform>] = true> constexpr explicit xref:absl/AnySpan/2constructor-0a.adoc[AnySpan]( xref:absl/AnySpan.adoc[AnySpan<Element>] const& other, Transform const& transform); ---- [.small]#xref:absl/AnySpan/2constructor-0a.adoc[_» more..._]# Constructs a span wrapping another span, applying a transform (by ref). [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< typename Element, typename Transform, typename = xref:absl/AnySpan.adoc[EnableIfTransformIsValid<Transform, Element&>], xref:absl/AnySpan.adoc[EnableIfTransformIsByRef<Transform>] = true> constexpr explicit xref:absl/AnySpan/2constructor-00b.adoc[AnySpan]( xref:absl/AnySpan.adoc[AnySpan<Element>] const& other, Transform const& transform); ---- [.small]#xref:absl/AnySpan/2constructor-00b.adoc[_» more..._]# Constructs a span wrapping a const non‐view container (transform by copy). [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< typename Container, typename Transform, typename = xref:absl/AnySpan.adoc[EnableIfContainer<Container>], typename = xref:absl/AnySpan.adoc[EnableIfTransformIsValid<Transform, decltype(std::declval<const Container&>()[0])>], xref:absl/AnySpan.adoc[EnableIfTransformIsByCopy<Transform>] = true> constexpr xref:absl/AnySpan/2constructor-023.adoc[AnySpan]( Container const& container, Transform const& transform); ---- [.small]#xref:absl/AnySpan/2constructor-023.adoc[_» more..._]# Constructs a span wrapping a const view container (transform by copy). [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< typename Container, typename Transform, typename = xref:absl/AnySpan.adoc[EnableIfContainer<Container>], typename = xref:absl/AnySpan.adoc[EnableIfTransformIsValid<Transform, decltype(std::declval<const Container&>()[0])>], xref:absl/AnySpan.adoc[EnableIfTransformIsByCopy<Transform>] = true> constexpr xref:absl/AnySpan/2constructor-0d8.adoc[AnySpan]( Container const& container, Transform const& transform); ---- [.small]#xref:absl/AnySpan/2constructor-0d8.adoc[_» more..._]# Constructs a span wrapping a const non‐view container (transform by ref). [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< typename Container, typename Transform = xref:absl/any_span_transform/IdentityT.adoc[any_span_transform::IdentityT], typename = xref:absl/AnySpan.adoc[EnableIfContainer<Container>], typename = xref:absl/AnySpan.adoc[EnableIfTransformIsValid<Transform, decltype(std::declval<const Container&>()[0])>], xref:absl/AnySpan.adoc[EnableIfTransformIsByRef<Transform>] = true> constexpr xref:absl/AnySpan/2constructor-07.adoc[AnySpan]( Container const& container, Transform const& transform = any_span_transform::Identity()); ---- [.small]#xref:absl/AnySpan/2constructor-07.adoc[_» more..._]# Constructs a span wrapping a const view container (transform by ref). [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< typename Container, typename Transform = xref:absl/any_span_transform/IdentityT.adoc[any_span_transform::IdentityT], typename = xref:absl/AnySpan.adoc[EnableIfContainer<Container>], typename = xref:absl/AnySpan.adoc[EnableIfTransformIsValid<Transform, decltype(std::declval<const Container&>()[0])>], xref:absl/AnySpan.adoc[EnableIfTransformIsByRef<Transform>] = true> constexpr xref:absl/AnySpan/2constructor-0e.adoc[AnySpan]( Container const& container, Transform const& transform = any_span_transform::Identity()); ---- [.small]#xref:absl/AnySpan/2constructor-0e.adoc[_» more..._]# Constructs a span wrapping a fixed‐size const array (transform by copy). [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< typename Element, xref:absl/AnySpan/size_type.adoc[size_type] N, typename Transform, typename = xref:absl/AnySpan.adoc[EnableIfTransformIsValid<Transform, Element const&>], xref:absl/AnySpan.adoc[EnableIfTransformIsByCopy<Transform>] = true> constexpr xref:absl/AnySpan/2constructor-0b.adoc[AnySpan]( Element const(& array)[], Transform const& transform); ---- [.small]#xref:absl/AnySpan/2constructor-0b.adoc[_» more..._]# Constructs a span wrapping a fixed‐size const array (transform by ref). [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< typename Element, xref:absl/AnySpan/size_type.adoc[size_type] N, typename Transform = xref:absl/any_span_transform/IdentityT.adoc[any_span_transform::IdentityT], typename = xref:absl/AnySpan.adoc[EnableIfTransformIsValid<Transform, Element const&>], xref:absl/AnySpan.adoc[EnableIfTransformIsByRef<Transform>] = true> constexpr xref:absl/AnySpan/2constructor-01f4.adoc[AnySpan]( Element const(& array)[], Transform const& transform = any_span_transform::Identity()); ---- [.small]#xref:absl/AnySpan/2constructor-01f4.adoc[_» more..._]# Constructs a span wrapping a mutable container (transform by copy). [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< typename Container, typename Transform, typename = Container, typename = xref:absl/AnySpan.adoc[EnableIfContainer<Container>], typename = xref:absl/AnySpan.adoc[EnableIfTransformIsValid<Transform, decltype(std::declval<Container&>()[0])>], xref:absl/AnySpan.adoc[EnableIfTransformIsByCopy<Transform>] = true> constexpr explicit xref:absl/AnySpan/2constructor-0d1.adoc[AnySpan]( Container& container, Transform const& transform); ---- [.small]#xref:absl/AnySpan/2constructor-0d1.adoc[_» more..._]# Constructs a span wrapping a mutable container (transform by ref). [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< typename Container, typename Transform = xref:absl/any_span_transform/IdentityT.adoc[any_span_transform::IdentityT], typename = Container, typename = xref:absl/AnySpan.adoc[EnableIfContainer<Container>], typename = xref:absl/AnySpan.adoc[EnableIfTransformIsValid<Transform, decltype(std::declval<Container&>()[0])>], xref:absl/AnySpan.adoc[EnableIfTransformIsByRef<Transform>] = true> constexpr explicit xref:absl/AnySpan/2constructor-005.adoc[AnySpan]( Container& container, Transform const& transform = any_span_transform::Identity()); ---- [.small]#xref:absl/AnySpan/2constructor-005.adoc[_» more..._]# Constructs a span wrapping a fixed‐size mutable array (transform by copy). [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< typename Element, xref:absl/AnySpan/size_type.adoc[size_type] N, typename Transform, typename = Element, typename = xref:absl/AnySpan.adoc[EnableIfTransformIsValid<Transform, Element&>], xref:absl/AnySpan.adoc[EnableIfTransformIsByCopy<Transform>] = true> constexpr xref:absl/AnySpan/2constructor-01a.adoc[AnySpan]( Element(& array)[], Transform const& transform); ---- [.small]#xref:absl/AnySpan/2constructor-01a.adoc[_» more..._]# Constructs a span wrapping a fixed‐size mutable array (transform by ref). [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< typename Element, xref:absl/AnySpan/size_type.adoc[size_type] N, typename Transform = xref:absl/any_span_transform/IdentityT.adoc[any_span_transform::IdentityT], typename = Element, typename = xref:absl/AnySpan.adoc[EnableIfTransformIsValid<Transform, Element&>], xref:absl/AnySpan.adoc[EnableIfTransformIsByRef<Transform>] = true> constexpr xref:absl/AnySpan/2constructor-09e.adoc[AnySpan]( Element(& array)[], Transform const& transform = any_span_transform::Identity()); ---- [.small]#xref:absl/AnySpan/2constructor-09e.adoc[_» more..._]# Constructs a span wrapping a const array, applying a transform (by copy). [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< typename Element, typename Transform, typename = xref:absl/AnySpan.adoc[EnableIfTransformIsValid<Transform, Element const&>], xref:absl/AnySpan.adoc[EnableIfTransformIsByCopy<Transform>] = true> constexpr xref:absl/AnySpan/2constructor-03.adoc[AnySpan]( Element const* ptr, xref:absl/AnySpan/size_type.adoc[size_type] size, Transform const& transform); ---- [.small]#xref:absl/AnySpan/2constructor-03.adoc[_» more..._]# Constructs a span wrapping a const array, applying a transform (by ref). [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< typename Element, typename Transform = xref:absl/any_span_transform/IdentityT.adoc[any_span_transform::IdentityT], typename = xref:absl/AnySpan.adoc[EnableIfTransformIsValid<Transform, Element const&>], xref:absl/AnySpan.adoc[EnableIfTransformIsByRef<Transform>] = true> constexpr xref:absl/AnySpan/2constructor-0ff.adoc[AnySpan]( Element const* ptr, xref:absl/AnySpan/size_type.adoc[size_type] size, Transform const& transform = any_span_transform::Identity()); ---- [.small]#xref:absl/AnySpan/2constructor-0ff.adoc[_» more..._]# Constructs a span wrapping a mutable array (transform by copy). [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< typename Element, typename Transform, typename = Element, typename = xref:absl/AnySpan.adoc[EnableIfTransformIsValid<Transform, Element&>], xref:absl/AnySpan.adoc[EnableIfTransformIsByCopy<Transform>] = true> constexpr xref:absl/AnySpan/2constructor-066.adoc[AnySpan]( Element* ptr, xref:absl/AnySpan/size_type.adoc[size_type] size, Transform const& transform); ---- [.small]#xref:absl/AnySpan/2constructor-066.adoc[_» more..._]# Constructs a span wrapping a mutable array (transform by ref). [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< typename Element, typename Transform = xref:absl/any_span_transform/IdentityT.adoc[any_span_transform::IdentityT], typename = Element, typename = xref:absl/AnySpan.adoc[EnableIfTransformIsValid<Transform, Element&>], xref:absl/AnySpan.adoc[EnableIfTransformIsByRef<Transform>] = true> constexpr xref:absl/AnySpan/2constructor-09f0.adoc[AnySpan]( Element* ptr, xref:absl/AnySpan/size_type.adoc[size_type] size, Transform const& transform = any_span_transform::Identity()); ---- [.small]#xref:absl/AnySpan/2constructor-09f0.adoc[_» more..._]# == Parameters [cols="1,4"] |=== | Name| Description | *other* | The mutable span to convert from. | *l* | The initializer list whose elements the span refers to. | *getter* | The internal element accessor. | *size* | The number of elements. | *transform* | Functor applied to each element on access. | *container* | The container whose elements the span refers to. | *array* | The array whose elements the span refers to. | *ptr* | Pointer to the first element. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#