boost/python/str.hpp
はじめに
Python の str 型に対する TypeWrapper をエクスポートする。
クラス
str
クラス
-
class str : public object
Python の組み込み
str
型の文字列メソッドをエクスポートする。文字の範囲からstr
オブジェクトを構築する2引数コンストラクタ以外の以下に定義するコンストラクタとメンバ関数のセマンティクスを完全に理解するには、TypeWrapper コンセプトの定義を読むことである。str
はobject
から公開派生しているので、object
の公開インターフェイスはstr
のインスタンスにも当てはまる。
str
クラスの概要
namespace boost { namespace python
{
class str : public object
{
public:
str(); // str を新規作成する
str(char const* s); // str を新規作成する
str(char const* start, char const* finish); // str を新規作成する
str(char const* start, std::size_t length); // str を新規作成する
template <class T>
explicit str(T const& other);
str capitalize() const;
template <class T>
str center(T const& width) const;
template<class T>
long count(T const& sub) const;
template<class T1, class T2>
long count(T1 const& sub,T2 const& start) const;
template<class T1, class T2, class T3>
long count(T1 const& sub,T2 const& start, T3 const& end) const;
object decode() const;
template<class T>
object decode(T const& encoding) const;
template<class T1, class T2>
object decode(T1 const& encoding, T2 const& errors) const;
object encode() const;
template <class T>
object encode(T const& encoding) const;
template <class T1, class T2>
object encode(T1 const& encoding, T2 const& errors) const;
template <class T>
bool endswith(T const& suffix) const;
template <class T1, class T2>
bool endswith(T1 const& suffix, T2 const& start) const;
template <class T1, class T2, class T3>
bool endswith(T1 const& suffix, T2 const& start, T3 const& end) const;
str expandtabs() const;
template <class T>
str expandtabs(T const& tabsize) const;
template <class T>
long find(T const& sub) const;
template <class T1, class T2>
long find(T1 const& sub, T2 const& start) const;
template <class T1, class T2, class T3>
long find(T1 const& sub, T2 const& start, T3 const& end) const;
template <class T>
long index(T const& sub) const;
template <class T1, class T2>
long index(T1 const& sub, T2 const& start) const;
template <class T1, class T2, class T3>
long index(T1 const& sub, T2 const& start, T3 const& end) const;
bool isalnum() const;
bool isalpha() const;
bool isdigit() const;
bool islower() const;
bool isspace() const;
bool istitle() const;
bool isupper() const;
template <class T>
str join(T const& sequence) const;
template <class T>
str ljust(T const& width) const;
str lower() const;
str lstrip() const;
template <class T1, class T2>
str replace(T1 const& old, T2 const& new_) const;
template <class T1, class T2, class T3>
str replace(T1 const& old, T2 const& new_, T3 const& maxsplit) const;
template <class T>
long rfind(T const& sub) const;
template <class T1, class T2>
long rfind(T1 const& sub, T2 const& start) const;
template <class T1, class T2, class T3>
long rfind(T1 const& sub, T2 const& start, T3 const& end) const;
template <class T>
long rindex(T const& sub) const;
template <class T1, class T2>
long rindex(T1 const& sub, T2 const& start) const;
template <class T1, class T2, class T3>
long rindex(T1 const& sub, T2 const& start, T3 const& end) const;
template <class T>
str rjust(T const& width) const;
str rstrip() const;
list split() const;
template <class T>
list split(T const& sep) const;
template <class T1, class T2>
list split(T1 const& sep, T2 const& maxsplit) const;
list splitlines() const;
template <class T>
list splitlines(T const& keepends) const;
template <class T>
bool startswith(T const& prefix) const;
template <class T1, class T2>
bool startswidth(T1 const& prefix, T2 const& start) const;
template <class T1, class T2, class T3>
bool startswidth(T1 const& prefix, T2 const& start, T3 const& end) const;
str strip() const;
str swapcase() const;
str title() const;
template <class T>
str translate(T const& table) const;
template <class T1, class T2>
str translate(T1 const& table, T2 const& deletechars) const;
str upper() const;
};
}}
例
using namespace boost::python;
str remove_angle_brackets(str x)
{
return x.strip('<').strip('>');
}