C++ Locale Library - max_length



Description

It returns the maximum number of internal characters needed for an external character and internally, this function simply calls the virtual protected member do_max_length to produce its result.

Declaration

Following is the declaration for std::ctype::max_length.

C++98

	
int max_length() const throw();

C++11

int max_length() const noexcept;

Parameters

none

Return Value

It returns the maximum length of one external character if translated to internal characters.

Exceptions

No-throw guarantee − never throws exceptions even if an exception is thrown, there are no changes in the facet object.

Data races

The facet object is accessed.

Example

In below example explains about std::ctype::max_length.

#include <iostream>
#include <locale>

int main () {
   std::locale loc;

   std::cout << "max_length for codecvt<char,char,mbstate_t>: ";
   std::cout << std::use_facet<std::codecvt<char,char,mbstate_t> >(loc).max_length();
   std::cout << '\n';

   std::cout << "max_length for codecvt<wchar_t,char,mbstate_t>: ";
   std::cout << std::use_facet<std::codecvt<wchar_t,char,mbstate_t> >(loc).max_length();
   std::cout << '\n';

   return 0;
} 

Let us compile and run the above program, this will produce the following result −

max_length for codecvt<char,char,mbstate_t>: 1
max_length for codecvt<wchar_t,char,mbstate_t>: 1
locale.htm
Advertisements