GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
std::ctype_byname(3) C++ Standard Libary std::ctype_byname(3)

std::ctype_byname - std::ctype_byname


Defined in header <locale>
template< class CharT >
class ctype_byname : public std::ctype<CharT>;


std::ctype_byname is a std::ctype facet which encapsulates character classification
rules of the locale specified at its construction.


Two specializations are provided by the standard library


Defined in header <locale>
provides narrow character classification. This
std::ctype_byname<char> specialization uses table lookup for character
classification
std::ctype_byname<wchar_t> provides wide character classification

Member types


Member type Definition
mask ctype<CharT>::mask

Member functions


constructor constructs a new ctype_byname facet
(public member function)
destructor destroys a ctype_byname facet
(protected member function)

std::ctype_byname::ctype_byname


explicit ctype_byname( const char* name, std::size_t refs = 0 );
explicit ctype_byname( const std::string& name, std::size_t refs = 0 (since C++11)
);


Constructs a new std::ctype_byname facet for a locale with name.


refs is used for resource management: if refs == 0, the implementation destroys the
facet, when the last std::locale object holding it is destroyed. Otherwise, the
object is not destroyed.


name - the name of the locale
refs - the number of references that link to the facet

std::ctype_byname::~ctype_byname


protected:
~ctype_byname();


Destroys the facet.

Inherited from std::ctype<CharT>

Member types


Member type Definition
char_type CharT


Member name Type
static std::locale::id id id of the locale
[static] (public static member constant)
if CharT is char, the following member of std::ctype<char> is inherited
static const std::size_t table_size size of the classification table, at least 256
[static] (public static member constant)

Member functions


is invokes do_is
(public member function of std::ctype<CharT>)
scan_is invokes do_scan_is
(public member function of std::ctype<CharT>)
scan_not invokes do_scan_not
(public member function of std::ctype<CharT>)
toupper invokes do_toupper
(public member function of std::ctype<CharT>)
tolower invokes do_tolower
(public member function of std::ctype<CharT>)
widen invokes do_widen
(public member function of std::ctype<CharT>)
narrow invokes do_narrow
(public member function of std::ctype<CharT>)
if CharT is char, the following members of std::ctype<char> are inherited
table obtains the character classification table
(public member function of std::ctype<char>)
classic_table obtains the "C" locale character classification table
[static] (public static member function of std::ctype<char>)


do_toupper converts a character or characters to uppercase
[virtual] (virtual protected member function of std::ctype<CharT>)
do_tolower converts a character or characters to lowercase
[virtual] (virtual protected member function of std::ctype<CharT>)
do_widen converts a character or characters from char to charT
[virtual] (virtual protected member function of std::ctype<CharT>)
do_narrow converts a character or characters from charT to char
[virtual] (virtual protected member function of std::ctype<CharT>)
if CharT is char, the following members of std::ctype are NOT inherited
do_is classifies a character or a character sequence
[virtual] (virtual protected member function of std::ctype<CharT>)
do_scan_is locates the first character in a sequence that conforms to given
[virtual] classification
(virtual protected member function of std::ctype<CharT>)
do_scan_not locates the first character in a sequence that fails given
[virtual] classification
(virtual protected member function of std::ctype<CharT>)

Inherited from std::ctype_base

Member types


Type Definition
mask unspecified bitmask type (enumeration, integer type, or bitset)


space the value of mask identifying whitespace character classification
[static] (public static member constant)
print the value of mask identifying printable character classification
[static] (public static member constant)
cntrl the value of mask identifying control character classification
[static] (public static member constant)
upper the value of mask identifying uppercase character classification
[static] (public static member constant)
lower the value of mask identifying lowercase character classification
[static] (public static member constant)
alpha the value of mask identifying alphabetic character classification
[static] (public static member constant)
digit the value of mask identifying digit character classification
[static] (public static member constant)
punct the value of mask identifying punctuation character classification
[static] (public static member constant)
xdigit the value of mask identifying hexadecimal digit character
[static] classification
(public static member constant)
blank the value of mask identifying blank character classification
[static] (C++11) (public static member constant)
alnum alpha | digit
[static] (public static member constant)
graph alnum | punct
[static] (public static member constant)


The explicit specialization std::ctype_byname<char> was listed as a separate entry
in the header file <locale> until C++11. it was removed in C++11 as defect #1298,
but it remains a required specialization, just like std::ctype_byname<wchar_t>.

// Run this code


#include <iostream>
#include <locale>


int main()
{
wchar_t c = L'\u00de'; // capital letter thorn


std::locale loc("C");


std::cout << "isupper('Þ', C locale) returned "
<< std::boolalpha << std::isupper(c, loc) << '\n';


loc = std::locale(loc, new std::ctype_byname<wchar_t>("en_US.utf8"));


std::cout << "isupper('Þ', C locale with Unicode ctype) returned "
<< std::boolalpha << std::isupper(c, loc) << '\n';
}


isupper('Þ', C locale) returned false
isupper('Þ', C locale with Unicode ctype) returned true


ctype defines character classification tables
(class template)
ctype<char> specialization of std::ctype for type char
(class template specialization)

2022.07.31 http://cppreference.com

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.