Namespaces
Variants
Views
Actions

Difference between revisions of "cpp/container/span/size"

From cppreference.com
< cpp‎ | container‎ | span
m (langlinks)
m (Notes: + feature test macro (originally, the return type was signed, and all that.)
Line 12: Line 12:
 
===Return value===
 
===Return value===
 
The number of elements in the span.
 
The number of elements in the span.
 +
 +
===Note===
 +
{{feature test macro|__cpp_lib_ssize}}
  
 
===Example===
 
===Example===

Revision as of 11:13, 1 February 2022

 
 
 
 
constexpr size_type size() const noexcept;

Returns the number of elements in the span.

Contents

Parameters

(none)

Return value

The number of elements in the span.

Note

Feature-test macro Value Std Feature
__cpp_lib_ssize  

Example

#include <iostream>
#include <span>
 
void show_sizes(std::span<const int> span)
{
    std::cout
        << span                 .size() << ' ' // 8
        << span.first(7)        .size() << ' ' // 7
        << span.first<6>()      .size() << ' ' // 6 
        << span.last(5)         .size() << ' ' // 5 
        << span.last<4>()       .size() << ' ' // 4
        << span.subspan(2, 3)   .size() << ' ' // 3 
        << span.subspan<3, 2>() .size() << ' ' // 2
        << '\n';
}
 
int main()
{
    int antique_array[] { 1, 2, 3, 4, 5, 6, 7, 8 };
    show_sizes(antique_array);
}

Output:

8 7 6 5 4 3 2

See also

constructs a span
(public member function) [edit]
returns the size of the sequence in bytes
(public member function) [edit]