Declarations
String& ljust(String& s, unsigned int n, CharT c = ' '); String ljust_copy(const String& s, unsigned int n, CharT c = ' '); String& rjust(String& s, unsigned int n, CharT c = ' '); String rjust_copy(const String& s, unsigned int n, CharT c = ' '); String& center(String& s, unsigned int n, CharT c = ' '); String center_copy(const String& s, unsigned int n, CharT c = ' ');
Overview
ljust(), rjust(), center() は,文字列をそれぞれ左詰め,右詰め,センタリングし, 余白を文字 c で埋めます.ljust_copy(), rjust_copy(), center_copy() は, 引数として指定された文字列を直接変更せずに,コピーした文字列を変更します.
尚,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 << "ljust: " << clx::ljust_copy(s, 30, '*') << std::endl; std::cout << "rjust: " << clx::rjust_copy(s, 30, '*') << std::endl; std::cout << "center: " << clx::center_copy(s, 30, '*') << std::endl; return 0; }
Result ljust: Hello, world!***************** rjust: *****************Hello, world! center: *********Hello, world!********