unction
"cpp/named req/UnformattedOutputFunction")  
---  
  
  
  
[ Formatters ](/w/cpp/named_req#Formatters "cpp/named req")  
|  [ BasicFormatter  ](/w/cpp/named_req/BasicFormatter "cpp/named
req/BasicFormatter") (C++20)  
---  
  
|  [ Formatter  ](/w/cpp/named_req/Formatter "cpp/named req/Formatter")
(C++20)  
---  
  
[ Random Numbers ](/w/cpp/named_req#Random_Number_Generation "cpp/named req")  
|  [ SeedSequence  ](/w/cpp/named_req/SeedSequence "cpp/named
req/SeedSequence") (C++11)  
---  
[ RandomNumberEngine  ](/w/cpp/named_req/RandomNumberEngine "cpp/named
req/RandomNumberEngine") (C++11)  
  
|  [ RandomNumberDistribution  ](/w/cpp/named_req/RandomNumberDistribution
"cpp/named req/RandomNumberDistribution") (C++11)  
---  
[ UniformRandomBitGenerator  ](/w/cpp/named_req/UniformRandomBitGenerator
"cpp/named req/UniformRandomBitGenerator") (C++11)  
  
|  [ RandomNumberEngineAdaptor  ](/w/cpp/named_req/RandomNumberEngineAdaptor
"cpp/named req/RandomNumberEngineAdaptor") (C++11)  
---  
  
  
  
[ Concurrency ](/w/cpp/named_req#Concurrency "cpp/named req")  
|  [ BasicLockable  ](/w/cpp/named_req/BasicLockable "cpp/named
req/BasicLockable") (C++11)  
---  
[ Lockable  ](/w/cpp/named_req/Lockable "cpp/named req/Lockable") (C++11)  
[ TimedLockable  ](/w/cpp/named_req/TimedLockable "cpp/named
req/TimedLockable") (C++11)  
  
|  [ SharedLockable  ](/w/cpp/named_req/SharedLockable "cpp/named
req/SharedLockable") (C++14)  
---  
[ SharedTimedLockable  ](/w/cpp/named_req/SharedTimedLockable "cpp/named
req/SharedTimedLockable") (C++14)  
[ Mutex  ](/w/cpp/named_req/Mutex "cpp/named req/Mutex") (C++11)  
  
|  [ TimedMutex  ](/w/cpp/named_req/TimedMutex "cpp/named req/TimedMutex")
(C++11)  
---  
[ SharedMutex  ](/w/cpp/named_req/SharedMutex "cpp/named req/SharedMutex")
(C++17)  
[ SharedTimedMutex  ](/w/cpp/named_req/SharedTimedMutex "cpp/named
req/SharedTimedMutex") (C++14)  
  
[ Ranges ](/w/cpp/named_req#Ranges "cpp/named req")  
|  ** RangeAdaptorObject  ** (C++20)  
---  
  
|  [ RangeAdaptorClosureObject  ](/w/cpp/named_req/RangeAdaptorClosureObject
"cpp/named req/RangeAdaptorClosureObject") (C++20)  
---  
  
[ Other ](/w/cpp/named_req#Other "cpp/named req")  
|  [ CharTraits  ](/w/cpp/named_req/CharTraits "cpp/named req/CharTraits")  
---  
[ RegexTraits  ](/w/cpp/named_req/RegexTraits "cpp/named req/RegexTraits")
(C++11)  
[ BitmaskType  ](/w/cpp/named_req/BitmaskType "cpp/named req/BitmaskType")  
[ LiteralType  ](/w/cpp/named_req/LiteralType "cpp/named req/LiteralType")
(C++11)  
  
|  [ NumericType  ](/w/cpp/named_req/NumericType "cpp/named req/NumericType")  
---  
[ UnaryTypeTrait  ](/w/cpp/named_req/UnaryTypeTrait "cpp/named
req/UnaryTypeTrait") (C++11)  
[ BinaryTypeTrait  ](/w/cpp/named_req/BinaryTypeTrait "cpp/named
req/BinaryTypeTrait") (C++11)  
[ TransformationTrait  ](/w/cpp/named_req/TransformationTrait "cpp/named
req/TransformationTrait") (C++11)  
  
|  [ Clock  ](/w/cpp/named_req/Clock "cpp/named req/Clock") (C++11)  
---  
[ TrivialClock  ](/w/cpp/named_req/TrivialClock "cpp/named req/TrivialClock")
(C++11)  
  
  
  
  
  
[ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/named_req/navbar_content&action=edit)

_Range adaptor objects_ are customization point objects that accept [ `
viewable_range ` ](/w/cpp/ranges/viewable_range "cpp/ranges/viewable range")
as their first arguments and return a [ ` view ` ](/w/cpp/ranges/view
"cpp/ranges/view") . Some range adaptor objects are unary, i.e. they take one
[ ` viewable_range ` ](/w/cpp/ranges/viewable_range "cpp/ranges/viewable
range") as their only argument. Other range adaptor objects take a [ `
viewable_range ` ](/w/cpp/ranges/viewable_range "cpp/ranges/viewable range")
and other trailing arguments.

If a range adaptor object takes only one argument, it is also a [
RangeAdaptorClosureObject  ](/w/cpp/named_req/RangeAdaptorClosureObject
"cpp/named req/RangeAdaptorClosureObject") .

If a range adaptor object takes more than on