std::allocator_traits::max_size
From cppreference.com
                    
                                        
                    < cpp | memory | allocator traits
                    
                                                            
                    | Defined in header  <memory> | ||
| static size_type max_size( const Alloc& a ); | (since C++11) | |
If possible, obtains the maximum theoretically possible allocation size from the allocator a, by calling
a.max_size()
If the above is not possible (e.g. a does not have the member function max_size()), then returns  std::numeric_limits<size_type>::max()
 (until C++17)std::numeric_limits<size_type>::max() / sizeof(value_type) (since C++17)
| Contents | 
[edit] Parameters
(none)
[edit] Return value
Theoretical maximum allocation size
[edit] Exceptions
noexcept specification:  
 
noexcept
  [edit] See also
| returns the largest supported allocation size (public member function of std::allocator) | 


