CLX C++ Libraries - adjust
Author: clown

CLX C++ Libraries
Home >> salgorithm >> adjust

# 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

example_adjust.cpp

    #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!********