std::allocator<T>::max_size
From cppreference.com
                    
                                        
                    
                    
                                                            
                    | size_type max_size() const throw(); | (until C++11) | |
| size_type max_size() const noexcept; | (since C++11) (deprecated in C++17) (removed in C++20) | |
Returns the maximum theoretically possible value of n, for which the call allocate(n, 0) could succeed. 
In most implementations, this returns std::numeric_limits<size_type>::max() / sizeof(value_type).
Parameters
(none)
Return value
The maximum supported allocation size
See also
| [static] | returns the maximum object size supported by the allocator (public static member function of std::allocator_traits<Alloc>) |