char_traitsは、文字や文字列の操作を抽象化したクラステンプレートで、指定された文字の種類で動作を変えることができ、basic_stringにこれの派生クラスを渡すことで、独自の処理に切り替えることが出来る。
char_traits - cpprefjp C++日本語リファレンス
《その331》 char_traits 構造体: C++,C++/CX に挑戦!
独自のchar_traitsとして、custom_char_traitsを定義する。
代入辺りでlengthが呼ばれるかもと思って、lengthの処理の前に"custom_char_traits::length"と出力するだけ。
実行すると、
$ vi char_traits.cpp $ g++ char_traits.cpp -o char_traits $ ./char_traits custom_char_traits::length ABCDE $
確かに出力された。
length自体は呼んでないけど。
Sample/cpp/char_traits/char_traits/src/char_traits at master · bg1bgst333/Sample · GitHub