
- The C Standard Library
- The C Standard Library
- The C++ Standard Library
- C++ Library - Home
- C++ Library - <fstream>
- C++ Library - <iomanip>
- C++ Library - <ios>
- C++ Library - <iosfwd>
- C++ Library - <iostream>
- C++ Library - <istream>
- C++ Library - <ostream>
- C++ Library - <sstream>
- C++ Library - <streambuf>
- C++ Library - <atomic>
- C++ Library - <complex>
- C++ Library - <exception>
- C++ Library - <functional>
- C++ Library - <limits>
- C++ Library - <locale>
- C++ Library - <memory>
- C++ Library - <new>
- C++ Library - <numeric>
- C++ Library - <regex>
- C++ Library - <stdexcept>
- C++ Library - <string>
- C++ Library - <thread>
- C++ Library - <tuple>
- C++ Library - <typeinfo>
- C++ Library - <utility>
- C++ Library - <valarray>
- The C++ STL Library
- C++ Library - <array>
- C++ Library - <bitset>
- C++ Library - <deque>
- C++ Library - <forward_list>
- C++ Library - <list>
- C++ Library - <map>
- C++ Library - <queue>
- C++ Library - <set>
- C++ Library - <stack>
- C++ Library - <unordered_map>
- C++ Library - <unordered_set>
- C++ Library - <vector>
- C++ Library - <algorithm>
- C++ Library - <iterator>
- C++ Programming Resources
- C++ Programming Tutorial
- C++ Useful Resources
- C++ Discussion
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
C++ Locale Library - widen
Description
It is used in widen characters and internally, this function simply calls the virtual protected member do_widen, which does the above by default in both the generic template and the char specialization (ctype<char>).
Declaration
Following is the declaration for std::ctype::widen.
C++98
char_type tolower (char_type c) const;
C++11
char_type tolower (char_type c) const;
Parameters
c − It is a char type.
low,high − It is a pointer to the beginning and end of the sequence of characters.
to − It is a pointer to a range of elements of the facet's character type.
Return Value
It returns the transformation of c.
Exceptions
If an exception is thrown, there are no changes in the facet object, although characters in the range may have been affected.
Data races
http://tpcg.io/YqaGeYThe object, and the elements in the range [low,high), are accessed.
Example
In below example explains about std::ctype::widen.
#include <iostream> #include <locale> int main () { std::locale loc; const char narrow_phrase[] = "Sairamkrishna Mammahe"; wchar_t wide_phrase[sizeof(narrow_phrase)]; std::wcout << L"The first wide character is: "; wchar_t wc = std::use_facet< std::ctype<wchar_t> >(loc).widen ( *narrow_phrase ); std::wcout << wc << std::endl; std::wcout << L"The wide-character phrase is: "; std::use_facet< std::ctype<wchar_t> >(loc).widen (narrow_phrase, narrow_phrase+sizeof(narrow_phrase), wide_phrase); std::wcout << wide_phrase << std::endl; return 0; }
Let us compile and run the above program, this will produce the following result −
The first wide character is: S The wide-character phrase is: Sairamkrishna Mammahe