#####  [ cppreference.com ](/)

[ Log in
](/mwiki/index.php?title=Special:UserLogin&returnto=cpp%2Franges%2Fbidirectional+range
"You are encouraged to log in; however, it is not mandatory \[o\]")

#####  Namespaces

  * [ Page ](/w/cpp/ranges/bidirectional_range "View the content page \[c\]")
  * [ Discussion ](/mwiki/index.php?title=Talk:cpp/ranges/bidirectional_range&action=edit&redlink=1 "Discussion about the content page \[t\]")

#####  Variants

#####  Views

  * [ View ](/w/cpp/ranges/bidirectional_range)
  * [ Edit ](/mwiki/index.php?title=cpp/ranges/bidirectional_range&action=edit "You can edit this page. Please use the preview button before saving \[e\]")
  * [ History ](/mwiki/index.php?title=cpp/ranges/bidirectional_range&action=history "Past revisions of this page \[h\]")

#####  Actions

#  std::ranges::  bidirectional_range

From cppreference.com

< [ cpp ](/w/cpp "cpp") ‎ | [ ranges ](/w/cpp/ranges "cpp/ranges")

[ C++ ](/w/cpp "cpp")

[ Compiler support ](/w/cpp/compiler_support "cpp/compiler support")  
---  
[ Freestanding and hosted ](/w/cpp/freestanding "cpp/freestanding")  
[ Language ](/w/cpp/language "cpp/language")  
[ Standard library ](/w/cpp/standard_library "cpp/standard library")  
[ Standard library headers ](/w/cpp/header "cpp/header")  
[ Named requirements ](/w/cpp/named_req "cpp/named req")  
[ Feature test macros ](/w/cpp/feature_test "cpp/feature test") (C++20)  
[ Language support library ](/w/cpp/utility#Language_support "cpp/utility")  
[ Concepts library ](/w/cpp/concepts "cpp/concepts") (C++20)  
[ Metaprogramming library ](/w/cpp/meta "cpp/meta") (C++11)  
[ Diagnostics library ](/w/cpp/error "cpp/error")  
[ General utilities library ](/w/cpp/utility "cpp/utility")  
[ Strings library ](/w/cpp/string "cpp/string")  
[ Containers library ](/w/cpp/container "cpp/container")  
[ Iterators library ](/w/cpp/iterator "cpp/iterator")  
[ Ranges library ](/w/cpp/ranges "cpp/ranges") (C++20)  
[ Algorithms library ](/w/cpp/algorithm "cpp/algorithm")  
[ Numerics library ](/w/cpp/numeric "cpp/numeric")  
[ Localizations library ](/w/cpp/locale "cpp/locale")  
[ Input/output library ](/w/cpp/io "cpp/io")  
[ Filesystem library ](/w/cpp/filesystem "cpp/filesystem") (C++17)  
[ Regular expressions library ](/w/cpp/regex "cpp/regex") (C++11)  
[ Concurrency support library ](/w/cpp/thread "cpp/thread") (C++11)  
[ Technical specifications ](/w/cpp/experimental "cpp/experimental")  
[ Symbols index ](/w/cpp/symbol_index "cpp/symbol index")  
[ External libraries ](/w/cpp/links/libs "cpp/links/libs")  
  
[ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/navbar_content&action=edit)

[ Ranges library ](/w/cpp/ranges "cpp/ranges")

[ Range access ](/w/cpp/ranges#Range_access "cpp/ranges")  
---  
|  [ begin  ](/w/cpp/ranges/begin "cpp/ranges/begin")  
---  
[ cbegin  ](/w/cpp/ranges/cbegin "cpp/ranges/cbegin")  
[ end  ](/w/cpp/ranges/end "cpp/ranges/end")  
[ cend  ](/w/cpp/ranges/cend "cpp/ranges/cend")  
  
|  [ rbegin  ](/w/cpp/ranges/rbegin "cpp/ranges/rbegin")  
---  
[ crbegin  ](/w/cpp/ranges/crbegin "cpp/ranges/crbegin")  
[ rend  ](/w/cpp/ranges/rend "cpp/ranges/rend")  
[ crend  ](/w/cpp/ranges/crend "cpp/ranges/crend")  
  
|  [ size  ](/w/cpp/ranges/size "cpp/ranges/size")  
---  
[ ssize  ](/w/cpp/ranges/ssize "cpp/ranges/ssize")  
[ data  ](/w/cpp/ranges/data "cpp/ranges/data")  
[ cdata  ](/w/cpp/ranges/cdata "cpp/ranges/cdata")  
  
|  [ empty  ](/w/cpp/ranges/empty "cpp/ranges/empty")  
---  
  
  
  
  
  
  
  
[ Range conversions ](/w/cpp/ranges#Range_conversions "cpp/ranges")  
|  [ std::from_range_t  
std::from_range  ](/w/cpp/ranges/from_range "cpp/ranges/from range") (C++23)
(C++23)  
---  
  
|  [ to  ](/w/cpp/ranges/to "cpp/ranges/to") (C++23)  
---  
  
  
  
[ Range primitives ](/w/cpp/ranges#Range_primitives "cpp/ranges")  
|  [ range_size_t  range_difference_t  range_value_t  range_reference_t
](/w/cpp/ranges/iterator_t "cpp/ranges/iterator t")  
-