Declarations
String& upcase(String& s, const std::locale& loc = std::locale()); String upcase_copy(const String& s, const std::locale& loc = std::locale()); String& upcase_if(String& s, PredicateFunc f, const std::locale& loc = std::locale()); String upcase_copy_if(const String& s, PredicateFunc f, const std::locale& loc = std::locale()); String& downcase(String& s, const std::locale& loc = std::locale()); String downcase_copy(const String& s, const std::locale& loc = std::locale()); String& downcase_if(String& s, PredicateFunc f, const std::locale& loc = std::locale()); String downcase_copy_if(const String& s, PredicateFunc f, const std::locale& loc = std::locale()); String& swapcase(String& s, const std::locale& loc = std::locale()); String swapcase_copy(const String& s, const std::locale& loc = std::locale()); String& swapcase_if(String& s, PredicateFunc f, const std::locale& loc = std::locale()); String swapcase_copy_if(const String& s, PredicateFunc f, const std::locale& loc = std::locale()); String& capitalize(String& s, const std::locale& loc = std::locale()); String capitalize_copy(const String& s, const std::locale& loc = std::locale()); String& capitalize_if(String& s, PredicateFunc f, const std::locale& loc = std::locale()); String capitalize_copy_if(const String& s, PredicateFunc f, const std::locale& loc = std::locale());
Overview
upcase(),downcase() は,文字列中のアルファベットをそれぞれ,大文字,小文字にします. swapcase() は,大文字は小文字に,小文字は大文字に変換します.capitalize() は, 文字列中の先頭の文字を大文字に変換します.
upcase_copy(),downcase_copy(),swapcase_copy(),capitalize_copy() は, 引数として指定された文字列を直接変更せず,コピーした文字列を変更します. また,upcase_if(),downcase_if(),swapcase_if(),capitalize_if() は, PredicateFunc で指定された Functor が真を返した文字にのみ操作を行います.
尚,Declarations においては template < ... > の部分を省略していますが, 単語の先頭が大文字になっているものはテンプレート引数として渡される型です(ただし, String は std::basic_string<CharT, Traits>).
Example
#include <iostream> #include <string> #include "clx/salgorithm.h" int main(int argc, char* argv[]) { std::string s = "hello, world!"; std::cout << "original: " << s << std::endl; std::cout << "upcase: " << clx::upcase_copy(s) << std::endl; std::cout << "capitalize: " << clx::capitalize_copy(s) << std::endl; return 0; }
Result original: hello, world! upcase: HELLO, WORLD! capitalize: Hello, world!