algo — C++23 日本語リファレンス GitHub

string_converter

クラス · 文字または文字列を整数列へ変換する

struct string_converter;

概要

文字または文字列を整数列へ変換する

文字種の先頭または指定したアルファベット内の位置を整数値として返す。

計算量

メンバ関数

名前 説明 計算量
type 文字種の先頭文字を返す $O(1)$
convert (1) 文字を現在の文字種内の位置へ変換する
(2) 文字を指定alphabet内の位置へ変換する
(3) containerを文字種内の位置列へ変換する
(4) containerを指定alphabet内の位置列へ変換する
(1) $O(1)$
(2) alphabet長を $\sigma$ として $O(\sigma)$
(3) 要素数を $n$ として $O(n)$
(4) 要素数を $n$、alphabet長を $\sigma$ として $O(n\sigma)$

演算子

名前 説明 計算量
operator() (1) 文字を文字種または起点sからの位置へ変換する
(2) 文字を指定alphabet内の位置へ変換する
(3) containerを文字種または起点sからの位置列へ変換する
(4) containerを指定alphabet内の位置列へ変換する
(1) $O(1)$
(2) alphabet長を $\sigma$ として $O(\sigma)$
(3) 要素数を $n$ として $O(n)$
(4) 要素数を $n$、alphabet長を $\sigma$ として $O(n\sigma)$

メンバの詳細

convert

// (1)
int convert(const char &c);

// (2)
int convert(const char &c, const std::string &chars);

// (3)
template <class T>
auto convert(const T &v);

// (4)
template <class T>
auto convert(const T &v, const std::string &chars);

(1) 文字を現在の文字種内の位置へ変換する

(2) 文字を指定alphabet内の位置へ変換する

(3) containerを文字種内の位置列へ変換する

(4) containerを指定alphabet内の位置列へ変換する

operator()

// (1)
int operator()(const char &v, char s = 0);

// (2)
int operator()(const char &v, const std::string &chars);

// (3)
template <class T>
auto operator()(const T &v, char s = 0);

// (4)
template <class T>
auto operator()(const T &v, const std::string &chars);

(1) 文字を文字種または起点sからの位置へ変換する

(2) 文字を指定alphabet内の位置へ変換する

(3) containerを文字種または起点sからの位置列へ変換する

(4) containerを指定alphabet内の位置列へ変換する