メインページ | ネームスペース一覧 | クラス階層 | 構成 | ファイル一覧 | ネームスペースメンバ | 構成メンバ | ファイルメンバ | 関連ページ

# クラス テンプレートgslib::static_container::string< MaxStrLen, Ch, ChTraits >

ただの配列なので、バイナリファイルへの埋め込みも簡単。 与えられた文字列が最大文字数を超えた場合、クランプされる。 [詳細]

`#include <string.h>`

gslib::static_container::string< MaxStrLen, Ch, ChTraits >のコラボレーション図

[凡例]
すべてのメンバ一覧

## Public 型
typedef Ch | char_type
typedef ChTraits | traits_type
typedef pointer | iterator
typedef const_pointer | const_iterator
## Public メソッド
| BOOST_STATIC_CONSTANT (size_type, npos=-1)
| 最大サイズ
| BOOST_STATIC_CONSTANT (size_type, const_max=MaxStrLen)
size_type | size () const
| サイズ取得
size_type | length () const
| サイズ取得
iterator | begin ()
const_iterator | begin () const
iterator | end ()
const_iterator | end () const
char_type & | operator[] (size_type i)
const char_type & | operator[] (size_type i) const
bool | empty () const
reference | at (size_type i)
char_type | at (size_type i) const
reference | front ()
char_type | front () const
reference | back ()
char_type | back () const
void | push_back (char_type ch)
| 一文字追加
void | append (char_type ch)
| 一文字追加
void | append (const char *str)
| 文字列を末尾に追加
template<size_type OtherMaxStrLen> void | append (const string< OtherMaxStrLen, Ch, ChTraits > &other)
| 文字列を末尾に追加
void | pop_back ()
| 一文字削除
| string ()
| デフォルトコンストラクタ
template<size_type OtherMaxStrLen> | string (const string< OtherMaxStrLen, Ch, ChTraits > &other)
| コピーコンストラクタ
| string (const char_type *s)
| ~string ()
string & | operator= (const string &other)
| 代入演算子
string & | operator= (const char_type *s)
pointer | data ()
| 直アクセス
const_pointer | data () const
const_pointer | c_str () const
string | operator+= (const char *other)
| append() と同じです
template<size_type OtherMaxStrLen> string | operator+= (const string< OtherMaxStrLen, Ch, ChTraits > &other)
| append() と同じです
void | clear ()
| 空文字列化
## Static Public メソッド
size_type | max_size ()
| 最大サイズ取得
size_type | capaciry ()
| 容量取得
## Private 変数
Ch | buffer_ [MaxStrLen+1]
## フレンド
template<size_type OtherMaxStrLen> bool | operator== (const string &a, const string< OtherMaxStrLen, Ch, ChTraits > &b)
| 等しい？
bool | operator== (const string &a, const char *b)
| 等しい？
bool | operator== (const char *a, const string &b)
| 等しい？
template<size_type OtherMaxStrLen> bool | operator!= (const string &a, const string< OtherMaxStrLen, Ch, ChTraits > &b)
| 異なる？
bool | operator!= (const string &a, const char *b)
| 異なる？
bool | operator!= (const char *a, const string &b)
| 異なる？
template<size_type OtherMaxStrLen> bool | operator< (const string &a, const string< OtherMaxStrLen, Ch, ChTraits > &b)
| 辞書順比較
bool | operator< (const string &a, const char *b)
| 辞書順比較
bool | operator< (const char *a, const string &b)
| 辞書順比較

## 説明

### template<size_t MaxStrLen, typename Ch = char, typename ChTraits = std::char_traits< Ch >>
class gslib::static_container::string< MaxStrLen, Ch, ChTraits >

ただの配列なので、バイナリファイルへの埋め込みも簡単。 与えられた文字列が最大文字数を超えた場合、クランプされる。

内部的には、Ch[ MaxStrLen + 1 ] のみを利用する。

string.h の 73 行で定義されています。

## 型定義

template<size_t MaxStrLen, typename Ch = char, typename ChTraits = std::char_traits< Ch >>
typedef Ch gslib::static_container::string< MaxStrLen, Ch, ChTraits >::char_type

| string.h の 76 行で定義されています。 参照元 gslib::static_container::string< MaxStrLen, Ch, ChTraits >::append(), gslib::static_container::string< MaxStrLen, Ch, ChTraits >::at(), gslib::static_container::string< MaxStrLen, Ch, ChTraits >::back(), gslib::static_container::string< MaxStrLen, Ch, ChTraits >::clear(), gslib::static_container::string< MaxStrLen, Ch, ChTraits >::front(), gslib::static_container::string< MaxStrLen, Ch, ChTraits >::operator=(), gslib::static_container::string< MaxStrLen, Ch, ChTraits >::operator[](), gslib::static_container::string< MaxStrLen, Ch, ChTraits >::pop_back(), gslib::static_container::string< MaxStrLen, Ch, ChTraits >::push_back(), と gslib::static_container::string< MaxStrLen, Ch, ChTraits >::string().

template<size_t MaxStrLen, typename Ch = char, typename ChTraits = std::char_traits< Ch >>
typedef const_pointer gslib::static_container::string< MaxStrLen, Ch, ChTraits >::const_iterator

| string.h の 79 行で定義されています。

template<size_t MaxStrLen, typename Ch = char, typename ChTraits = std::char_traits< Ch >>
typedef pointer gslib::static_container::string< MaxStrLen, Ch, ChTraits >::iterator

| string.h の 78 行で定義されています。

template<size_t MaxStrLen, typename Ch = char, typename ChTraits = std::char_traits< Ch >>
typedef ChTraits gslib::static_container::string< MaxStrLen, Ch, ChTraits >::traits_type

| string.h の 77 行で定義されています。

## コンストラクタとデストラクタ

template<size_t MaxStrLen, typename Ch = char, typename ChTraits = std::char_traits< Ch >>
gslib::static_container::string< MaxStrLen, Ch, ChTraits >::string | ( |  | ) | `[inline]`

| デフォルトコンストラクタ string.h の 167 行で定義されています。 参照先 gslib::static_container::string< MaxStrLen, Ch, ChTraits >::clear().
    00167                      {
    00168                 clear();
    00169             }

関数の呼び出しグラフ:

template<size_t MaxStrLen, typename Ch = char, typename ChTraits = std::char_traits< Ch >>
template<size_type OtherMaxStrLen>
gslib::static_container::string< MaxStrLen, Ch, ChTraits >::string | ( | const string< OtherMaxStrLen, Ch, ChTraits > & | other | ) | `[inline]`

| コピーコンストラクタ string.h の 173 行で定義されています。 参照先 gslib::static_container::string< MaxStrLen, Ch, ChTraits >::begin(), gslib::static_container::string< MaxStrLen, Ch, ChTraits >::max_size(), と gslib::static_container::string< MaxStrLen, Ch, ChTraits >::size().
    00173                                                                           {
    00174                 if ( buffer_ != other.begin() ) {
    00175                     size_type otherLen = other.size();
    00176                     if ( otherLen <= max_size() ) {
    00177                         traits_type::copy( buffer_, other.begin(), otherLen + 1 );
    00178                     } else {
    00179                         traits_type::copy( buffer_, other.begin(), max_size() + 1 );
    00180                     }
    00181                 }
    00182             }

関数の呼び出しグラフ:

template<size_t MaxStrLen, typename Ch = char, typename ChTraits = std::char_traits< Ch >>
gslib::static_container::string< MaxStrLen, Ch, ChTraits >::string | ( | const char_type * | s | ) | `[inline]`

| string.h の 184 行で定義されています。 参照先 gslib::static_container::string< MaxStrLen, Ch, ChTraits >::char_type, と gslib::static_container::string< MaxStrLen, Ch, ChTraits >::max_size().
    00184                                          {
    00185                 if ( s != buffer_ ) {
    00186                     size_type otherLen = traits_type::length( s );
    00187                     if ( otherLen <= max_size() ) {
    00188                         traits_type::copy( buffer_, s, otherLen + 1 );
    00189                     } else {
    00190                         traits_type::copy( buffer_, s, max_size() + 1 );
    00191                     }
    00192                 }
    00193             }

関数の呼び出しグラフ:

template<size_t MaxStrLen, typename Ch = char, typename ChTraits = std::char_traits< Ch >>
gslib::static_container::string< MaxStrLen, Ch, ChTraits >::~string | ( |  | ) | `[inline]`

| string.h の 196 行で定義されています。
    00196                       {
    00197             }

## 関数

template<size_t MaxStrLen, typename Ch = char, typename ChTraits = std::char_traits< Ch >>
template<size_type OtherMaxStrLen>
void gslib::static_container::string< MaxStrLen, Ch, ChTraits >::append | ( | const string< OtherMaxStrLen, Ch, ChTraits > & | other | ) | `[inline]`

| 文字列を末尾に追加 string.h の 154 行で定義されています。 参照先 gslib::static_container::string< MaxStrLen, Ch, ChTraits >::append(), と gslib::static_container::string< MaxStrLen, Ch, ChTraits >::c_str().
    00154                                                                                {
    00155                 append( other.c_str() );
    00156             }

関数の呼び出しグラフ:

template<size_t MaxStrLen, typename Ch = char, typename ChTraits = std::char_traits< Ch >>
void gslib::static_container::string< MaxStrLen, Ch, ChTraits >::append | ( | const char * | str | ) | `[inline]`

| 文字列を末尾に追加 string.h の 140 行で定義されています。 参照先 gslib::static_container::string< MaxStrLen, Ch, ChTraits >::char_type, gslib::static_container::string< MaxStrLen, Ch, ChTraits >::end(), gslib::static_container::string< MaxStrLen, Ch, ChTraits >::max_size(), と gslib::static_container::string< MaxStrLen, Ch, ChTraits >::size().
    00140                                            {
    00141                 if ( 0 == str ) {
    00142                     return;
    00143                 }
    00144                 if ( size() + traits_type::length( str ) <= max_size() ) {
    00145                     traits_type::copy( end(), str, traits_type::length( str ) + 1 );
    00146                 } else {
    00147                     traits_type::copy( end(), str, max_size() );
    00148                     buffer_[ MaxStrLen ] = char_type();
    00149                 }
    00150             }

関数の呼び出しグラフ:

template<size_t MaxStrLen, typename Ch = char, typename ChTraits = std::char_traits< Ch >>
void gslib::static_container::string< MaxStrLen, Ch, ChTraits >::append | ( | char_type | ch | ) | `[inline]`

| 一文字追加 string.h の 135 行で定義されています。 参照先 gslib::static_container::string< MaxStrLen, Ch, ChTraits >::char_type, と gslib::static_container::string< MaxStrLen, Ch, ChTraits >::push_back(). 参照元 gslib::static_container::string< MaxStrLen, Ch, ChTraits >::append(), gslib::static_container::string< MaxStrLen, Ch, ChTraits >::operator+=(), と gslib::static_container::string< MaxStrLen, Ch, ChTraits >::operator=().
    00135                                         {
    00136                 push_back( ch );
    00137             }

関数の呼び出しグラフ:

template<size_t MaxStrLen, typename Ch = char, typename ChTraits = std::char_traits< Ch >>
char_type gslib::static_container::string< MaxStrLen, Ch, ChTraits >::at | ( | size_type | i | ) | const`[inline]`

| string.h の 116 行で定義されています。 参照先 gslib::static_container::string< MaxStrLen, Ch, ChTraits >::char_type, と gslib::static_container::string< MaxStrLen, Ch, ChTraits >::operator[]().
    00116 { return operator [] ( i ); }

関数の呼び出しグラフ:

template<size_t MaxStrLen, typename Ch = char, typename ChTraits = std::char_traits< Ch >>
reference gslib::static_container::string< MaxStrLen, Ch, ChTraits >::at | ( | size_type | i | ) | `[inline]`

| string.h の 115 行で定義されています。 参照先 gslib::static_container::string< MaxStrLen, Ch, ChTraits >::operator[]().
    00115 { return operator [] ( i ); }

関数の呼び出しグラフ:

template<size_t MaxStrLen, typename Ch = char, typename ChTraits = std::char_traits< Ch >>
char_type gslib::static_container::string< MaxStrLen, Ch, ChTraits >::back | ( |  | ) | const`[inline]`

| string.h の 121 行で定義されています。 参照先 gslib::static_container::string< MaxStrLen, Ch, ChTraits >::char_type, と gslib::static_container::string< MaxStrLen, Ch, ChTraits >::end().
    00121 { return *( end() - 1 ); }

関数の呼び出しグラフ:

template<size_t MaxStrLen, typename Ch = char, typename ChTraits = std::char_traits< Ch >>
reference gslib::static_container::string< MaxStrLen, Ch, ChTraits >::back | ( |  | ) | `[inline]`

| string.h の 120 行で定義されています。 参照先 gslib::static_container::string< MaxStrLen, Ch, ChTraits >::end().
    00120 { return *( end() - 1 ); }

関数の呼び出しグラフ:

template<size_t MaxStrLen, typename Ch = char, typename ChTraits = std::char_traits< Ch >>
const_iterator gslib::static_container::string< MaxStrLen, Ch, ChTraits >::begin | ( |  | ) | const`[inline]`

| string.h の 100 行で定義されています。
    00100 { return buffer_; }

template<size_t MaxStrLen, typename Ch = char, typename ChTraits = std::char_traits< Ch >>
iterator gslib::static_container::string< MaxStrLen, Ch, ChTraits >::begin | ( |  | ) | `[inline]`

| string.h の 99 行で定義されています。 参照元 gslib::static_container::string< MaxStrLen, Ch, ChTraits >::c_str(), gslib::static_container::string< MaxStrLen, Ch, ChTraits >::data(), gslib::static_container::string< MaxStrLen, Ch, ChTraits >::end(), gslib::static_container::string< MaxStrLen, Ch, ChTraits >::front(), gslib::static_container::string< MaxStrLen, Ch, ChTraits >::operator[](), と gslib::static_container::string< MaxStrLen, Ch, ChTraits >::string().
    00099 { return buffer_; }

template<size_t MaxStrLen, typename Ch = char, typename ChTraits = std::char_traits< Ch >>
gslib::static_container::string< MaxStrLen, Ch, ChTraits >::BOOST_STATIC_CONSTANT | ( | size_type | ,
|  | const_max | = MaxStrLen
| ) |

template<size_t MaxStrLen, typename Ch = char, typename ChTraits = std::char_traits< Ch >>
gslib::static_container::string< MaxStrLen, Ch, ChTraits >::BOOST_STATIC_CONSTANT | ( | size_type | ,
|  | npos | = -1
| ) |

| 最大サイズ

template<size_t MaxStrLen, typename Ch = char, typename ChTraits = std::char_traits< Ch >>
const_pointer gslib::static_container::string< MaxStrLen, Ch, ChTraits >::c_str | ( |  | ) | const`[inline]`

| string.h の 214 行で定義されています。 参照先 gslib::static_container::string< MaxStrLen, Ch, ChTraits >::begin(). 参照元 gslib::static_container::string< MaxStrLen, Ch, ChTraits >::append(), と gslib::static_container::string< MaxStrLen, Ch, ChTraits >::operator=().
    00214 { return begin(); }

関数の呼び出しグラフ:

template<size_t MaxStrLen, typename Ch = char, typename ChTraits = std::char_traits< Ch >>
size_type gslib::static_container::string< MaxStrLen, Ch, ChTraits >::capaciry | ( |  | ) | `[inline, static]`

| 容量取得 string.h の 91 行で定義されています。
    00091 { return const_max; }

template<size_t MaxStrLen, typename Ch = char, typename ChTraits = std::char_traits< Ch >>
void gslib::static_container::string< MaxStrLen, Ch, ChTraits >::clear | ( |  | ) | `[inline]`

| 空文字列化 string.h の 230 行で定義されています。 参照先 gslib::static_container::string< MaxStrLen, Ch, ChTraits >::char_type. 参照元 gslib::static_container::string< MaxStrLen, Ch, ChTraits >::operator=(), と gslib::static_container::string< MaxStrLen, Ch, ChTraits >::string().
    00230                          {
    00231                 buffer_[ 0 ] = char_type();
    00232             }

template<size_t MaxStrLen, typename Ch = char, typename ChTraits = std::char_traits< Ch >>
const_pointer gslib::static_container::string< MaxStrLen, Ch, ChTraits >::data | ( |  | ) | const`[inline]`

| string.h の 213 行で定義されています。 参照先 gslib::static_container::string< MaxStrLen, Ch, ChTraits >::begin().
    00213 { return begin(); }

関数の呼び出しグラフ:

template<size_t MaxStrLen, typename Ch = char, typename ChTraits = std::char_traits< Ch >>
pointer gslib::static_container::string< MaxStrLen, Ch, ChTraits >::data | ( |  | ) | `[inline]`

| 直アクセス string.h の 212 行で定義されています。 参照先 gslib::static_container::string< MaxStrLen, Ch, ChTraits >::begin().
    00212 { return begin(); }

関数の呼び出しグラフ:

template<size_t MaxStrLen, typename Ch = char, typename ChTraits = std::char_traits< Ch >>
bool gslib::static_container::string< MaxStrLen, Ch, ChTraits >::empty | ( |  | ) | const`[inline]`

| string.h の 112 行で定義されています。 参照先 gslib::static_container::string< MaxStrLen, Ch, ChTraits >::size(). 参照元 gslib::static_container::string< MaxStrLen, Ch, ChTraits >::pop_back().
    00112                                {
    00113                 return 0 == size();
    00114             }

関数の呼び出しグラフ:

template<size_t MaxStrLen, typename Ch = char, typename ChTraits = std::char_traits< Ch >>
const_iterator gslib::static_container::string< MaxStrLen, Ch, ChTraits >::end | ( |  | ) | const`[inline]`

| string.h の 102 行で定義されています。 参照先 gslib::static_container::string< MaxStrLen, Ch, ChTraits >::begin(), と gslib::static_container::string< MaxStrLen, Ch, ChTraits >::size().
    00102 { return begin() + size(); }

関数の呼び出しグラフ:

template<size_t MaxStrLen, typename Ch = char, typename ChTraits = std::char_traits< Ch >>
iterator gslib::static_container::string< MaxStrLen, Ch, ChTraits >::end | ( |  | ) | `[inline]`

| string.h の 101 行で定義されています。 参照先 gslib::static_container::string< MaxStrLen, Ch, ChTraits >::begin(), と gslib::static_container::string< MaxStrLen, Ch, ChTraits >::size(). 参照元 gslib::static_container::string< MaxStrLen, Ch, ChTraits >::append(), gslib::static_container::string< MaxStrLen, Ch, ChTraits >::back(), gslib::static_container::string< MaxStrLen, Ch, ChTraits >::pop_back(), と gslib::static_container::string< MaxStrLen, Ch, ChTraits >::push_back().
    00101 { return begin() + size(); }

関数の呼び出しグラフ:

template<size_t MaxStrLen, typename Ch = char, typename ChTraits = std::char_traits< Ch >>
char_type gslib::static_container::string< MaxStrLen, Ch, ChTraits >::front | ( |  | ) | const`[inline]`

| string.h の 119 行で定義されています。 参照先 gslib::static_container::string< MaxStrLen, Ch, ChTraits >::begin(), と gslib::static_container::string< MaxStrLen, Ch, ChTraits >::char_type.
    00119 { return *begin(); }

関数の呼び出しグラフ:

template<size_t MaxStrLen, typename Ch = char, typename ChTraits = std::char_traits< Ch >>
reference gslib::static_container::string< MaxStrLen, Ch, ChTraits >::front | ( |  | ) | `[inline]`

| string.h の 118 行で定義されています。 参照先 gslib::static_container::string< MaxStrLen, Ch, ChTraits >::begin().
    00118 { return *begin(); }

関数の呼び出しグラフ:

template<size_t MaxStrLen, typename Ch = char, typename ChTraits = std::char_traits< Ch >>
size_type gslib::static_container::string< MaxStrLen, Ch, ChTraits >::length | ( |  | ) | const`[inline]`

| サイズ取得 string.h の 97 行で定義されています。 参照先 gslib::static_container::string< MaxStrLen, Ch, ChTraits >::size().
    00097 { return size(); }

関数の呼び出しグラフ:

template<size_t MaxStrLen, typename Ch = char, typename ChTraits = std::char_traits< Ch >>
size_type gslib::static_container::string< MaxStrLen, Ch, ChTraits >::max_size | ( |  | ) | `[inline, static]`

| 最大サイズ取得 string.h の 88 行で定義されています。 参照元 gslib::static_container::string< MaxStrLen, Ch, ChTraits >::append(), と gslib::static_container::string< MaxStrLen, Ch, ChTraits >::string().
    00088 { return const_max; }

template<size_t MaxStrLen, typename Ch = char, typename ChTraits = std::char_traits< Ch >>
template<size_type OtherMaxStrLen>
string gslib::static_container::string< MaxStrLen, Ch, ChTraits >::operator+= | ( | const string< OtherMaxStrLen, Ch, ChTraits > & | other | ) | `[inline]`

| append() と同じです string.h の 224 行で定義されています。 参照先 gslib::static_container::string< MaxStrLen, Ch, ChTraits >::append().
    00224                                                                                        {
    00225                 append( other );
    00226                 return *this;
    00227             }

関数の呼び出しグラフ:

template<size_t MaxStrLen, typename Ch = char, typename ChTraits = std::char_traits< Ch >>
string gslib::static_container::string< MaxStrLen, Ch, ChTraits >::operator+= | ( | const char * | other | ) | `[inline]`

| append() と同じです string.h の 217 行で定義されています。 参照先 gslib::static_container::string< MaxStrLen, Ch, ChTraits >::append().
    00217                                                      {
    00218                 append( other );
    00219                 return *this;
    00220             }

関数の呼び出しグラフ:

template<size_t MaxStrLen, typename Ch = char, typename ChTraits = std::char_traits< Ch >>
string& gslib::static_container::string< MaxStrLen, Ch, ChTraits >::operator= | ( | const char_type * | s | ) | `[inline]`

| string.h の 203 行で定義されています。 参照先 gslib::static_container::string< MaxStrLen, Ch, ChTraits >::append(), gslib::static_container::string< MaxStrLen, Ch, ChTraits >::char_type, と gslib::static_container::string< MaxStrLen, Ch, ChTraits >::clear().
    00203                                                       {
    00204                 if ( s != buffer_ ) {
    00205                     clear();
    00206                     append( s );
    00207                 }
    00208                 return *this;
    00209             }

関数の呼び出しグラフ:

template<size_t MaxStrLen, typename Ch = char, typename ChTraits = std::char_traits< Ch >>
string& gslib::static_container::string< MaxStrLen, Ch, ChTraits >::operator= | ( | const string< MaxStrLen, Ch, ChTraits > & | other | ) | `[inline]`

| 代入演算子 string.h の 200 行で定義されています。 参照先 gslib::static_container::string< MaxStrLen, Ch, ChTraits >::c_str().
    00200                                                         {
    00201                 return operator = ( other.c_str() );
    00202             }

関数の呼び出しグラフ:

template<size_t MaxStrLen, typename Ch = char, typename ChTraits = std::char_traits< Ch >>
const char_type& gslib::static_container::string< MaxStrLen, Ch, ChTraits >::operator[] | ( | size_type | i | ) | const`[inline]`

| string.h の 108 行で定義されています。 参照先 gslib::static_container::string< MaxStrLen, Ch, ChTraits >::begin(), gslib::static_container::string< MaxStrLen, Ch, ChTraits >::char_type, と gslib::static_container::string< MaxStrLen, Ch, ChTraits >::size().
    00108                                                                {
    00109                 PYD_ASSERT( i < size() );
    00110                 return *( begin() + i );
    00111             }

関数の呼び出しグラフ:

template<size_t MaxStrLen, typename Ch = char, typename ChTraits = std::char_traits< Ch >>
char_type& gslib::static_container::string< MaxStrLen, Ch, ChTraits >::operator[] | ( | size_type | i | ) | `[inline]`

| string.h の 104 行で定義されています。 参照先 gslib::static_container::string< MaxStrLen, Ch, ChTraits >::begin(), gslib::static_container::string< MaxStrLen, Ch, ChTraits >::char_type, と gslib::static_container::string< MaxStrLen, Ch, ChTraits >::size(). 参照元 gslib::static_container::string< MaxStrLen, Ch, ChTraits >::at().
    00104                                                    {
    00105                 PYD_ASSERT( i < size() );
    00106                 return *( begin() + i );
    00107             }

関数の呼び出しグラフ:

template<size_t MaxStrLen, typename Ch = char, typename ChTraits = std::char_traits< Ch >>
void gslib::static_container::string< MaxStrLen, Ch, ChTraits >::pop_back | ( |  | ) | `[inline]`

| 一文字削除 string.h の 159 行で定義されています。 参照先 gslib::static_container::string< MaxStrLen, Ch, ChTraits >::char_type, gslib::static_container::string< MaxStrLen, Ch, ChTraits >::empty(), と gslib::static_container::string< MaxStrLen, Ch, ChTraits >::end().
    00159                             {
    00160                 BOOST_ASSERT( false == empty() );
    00161                 iterator last = end();
    00162                 --last;
    00163                 *last = char_type();
    00164             }

関数の呼び出しグラフ:

template<size_t MaxStrLen, typename Ch = char, typename ChTraits = std::char_traits< Ch >>
void gslib::static_container::string< MaxStrLen, Ch, ChTraits >::push_back | ( | char_type | ch | ) | `[inline]`

| 一文字追加 string.h の 124 行で定義されています。 参照先 gslib::static_container::string< MaxStrLen, Ch, ChTraits >::char_type, gslib::static_container::string< MaxStrLen, Ch, ChTraits >::end(), と gslib::static_container::string< MaxStrLen, Ch, ChTraits >::size(). 参照元 gslib::static_container::string< MaxStrLen, Ch, ChTraits >::append().
    00124                                            {
    00125                 //BOOST_ASSERT;
    00126                 if ( size() < MaxStrLen ) {
    00127                     iterator last = end();
    00128                     *last = ch;
    00129                     ++last;
    00130                     *last = char_type();
    00131                 }
    00132             }

関数の呼び出しグラフ:

template<size_t MaxStrLen, typename Ch = char, typename ChTraits = std::char_traits< Ch >>
size_type gslib::static_container::string< MaxStrLen, Ch, ChTraits >::size | ( |  | ) | const`[inline]`

| サイズ取得 string.h の 94 行で定義されています。 参照元 gslib::static_container::string< MaxStrLen, Ch, ChTraits >::append(), gslib::static_container::string< MaxStrLen, Ch, ChTraits >::empty(), gslib::static_container::string< MaxStrLen, Ch, ChTraits >::end(), gslib::static_container::string< MaxStrLen, Ch, ChTraits >::length(), gslib::static_container::string< MaxStrLen, Ch, ChTraits >::operator[](), gslib::static_container::string< MaxStrLen, Ch, ChTraits >::push_back(), と gslib::static_container::string< MaxStrLen, Ch, ChTraits >::string().
    00094 { return traits_type::length( buffer_ ); }

## フレンドと関連する関数

template<size_t MaxStrLen, typename Ch = char, typename ChTraits = std::char_traits< Ch >>
bool operator!= | ( | const char * | a,
|  | const string< MaxStrLen, Ch, ChTraits > & | b
| ) | `[friend]`

| 異なる？ string.h の 264 行で定義されています。
    00264                                                                        {
    00265                 return !operator == ( a, b );
    00266             }

template<size_t MaxStrLen, typename Ch = char, typename ChTraits = std::char_traits< Ch >>
bool operator!= | ( | const string< MaxStrLen, Ch, ChTraits > & | a,
|  | const char * | b
| ) | `[friend]`

| 異なる？ string.h の 259 行で定義されています。
    00259                                                                        {
    00260                 return !operator == ( a, b );
    00261             }

template<size_t MaxStrLen, typename Ch = char, typename ChTraits = std::char_traits< Ch >>
template<size_type OtherMaxStrLen>
bool operator!= | ( | const string< MaxStrLen, Ch, ChTraits > & | a,
|  | const string< OtherMaxStrLen, Ch, ChTraits > & | b
| ) | `[friend]`

| 異なる？ string.h の 254 行で定義されています。
    00254                                                                                                          {
    00255                 return !operator == ( a, b );
    00256             }

template<size_t MaxStrLen, typename Ch = char, typename ChTraits = std::char_traits< Ch >>
bool operator< | ( | const char * | a,
|  | const string< MaxStrLen, Ch, ChTraits > & | b
| ) | `[friend]`

| 辞書順比較 string.h の 283 行で定義されています。
    00283                                                                       {
    00284                 return operator < ( b, a );
    00285             }

template<size_t MaxStrLen, typename Ch = char, typename ChTraits = std::char_traits< Ch >>
bool operator< | ( | const string< MaxStrLen, Ch, ChTraits > & | a,
|  | const char * | b
| ) | `[friend]`

| 辞書順比較 string.h の 275 行で定義されています。
    00275                                                                       {
    00276                 return std::lexicographical_compare(
    00277                     a.begin(), a.end(),
    00278                     b, b + traits_type::length( b ),
    00279                     traits_type::eq_int_type );
    00280             }

template<size_t MaxStrLen, typename Ch = char, typename ChTraits = std::char_traits< Ch >>
template<size_type OtherMaxStrLen>
bool operator< | ( | const string< MaxStrLen, Ch, ChTraits > & | a,
|  | const string< OtherMaxStrLen, Ch, ChTraits > & | b
| ) | `[friend]`

| 辞書順比較 string.h の 270 行で定義されています。
    00270                                                                                                         {
    00271                 return operator < ( a, b.c_str() );
    00272             }

template<size_t MaxStrLen, typename Ch = char, typename ChTraits = std::char_traits< Ch >>
bool operator== | ( | const char * | a,
|  | const string< MaxStrLen, Ch, ChTraits > & | b
| ) | `[friend]`

| 等しい？ string.h の 248 行で定義されています。
    00248                                                                        {
    00249                 return operator == ( b, a );
    00250             }

template<size_t MaxStrLen, typename Ch = char, typename ChTraits = std::char_traits< Ch >>
bool operator== | ( | const string< MaxStrLen, Ch, ChTraits > & | a,
|  | const char * | b
| ) | `[friend]`

| 等しい？ string.h の 241 行で定義されています。
    00241                                                                        {
    00242                 size_type size = a.size();
    00243                 return char_type() == b[ size ] &&
    00244                     std::equal( a.begin(), a.begin() + size, b, traits_type::eq );
    00245             }

template<size_t MaxStrLen, typename Ch = char, typename ChTraits = std::char_traits< Ch >>
template<size_type OtherMaxStrLen>
bool operator== | ( | const string< MaxStrLen, Ch, ChTraits > & | a,
|  | const string< OtherMaxStrLen, Ch, ChTraits > & | b
| ) | `[friend]`

| 等しい？ string.h の 236 行で定義されています。
    00236                                                                                                          {
    00237                 return operator == ( a, b.c_str() );
    00238             }

## 変数

template<size_t MaxStrLen, typename Ch = char, typename ChTraits = std::char_traits< Ch >>
Ch gslib::static_container::string< MaxStrLen, Ch, ChTraits >::buffer_[ MaxStrLen + 1 ]`[private]`

| string.h の 81 行で定義されています。

このクラスの説明は次のファイルから生成されました:

- string.h