154 lines
5.0 KiB
Plaintext
154 lines
5.0 KiB
Plaintext
[section boost/python/str.hpp]
|
|
[section Introduction]
|
|
Exposes a [link concepts.objectwrapper.typewrapper_concept_requirements TypeWrapper] for the Python [@http://www.python.org/dev/doc/devel/lib/string-methods.html `str`] type.
|
|
[endsect]
|
|
[section Class `str`]
|
|
Exposes the [@http://www.python.org/dev/doc/devel/lib/string-methods.html string methods] of Python's built-in `str` type. The semantics of the constructors and member functions defined below, except for the two-argument constructors which construct str objects from a range of characters, can be fully understood by reading the [link concepts.objectwrapper.typewrapper_concept_requirements TypeWrapper] concept definition. Since str is publicly derived from [link object_wrappers.boost_python_object_hpp.class_object `object`], the public `object` interface applies to `str` instances as well.
|
|
``
|
|
namespace boost { namespace python
|
|
{
|
|
class str : public object
|
|
{
|
|
public:
|
|
str(); // new str
|
|
|
|
str(char const* s); // new str
|
|
|
|
str(char const* start, char const* finish); // new str
|
|
str(char const* start, std::size_t length); // new 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;
|
|
};
|
|
}}
|
|
``
|
|
[endsect]
|
|
[section Example]
|
|
``
|
|
using namespace boost::python;
|
|
str remove_angle_brackets(str x)
|
|
{
|
|
return x.strip('<').strip('>');
|
|
}
|
|
``
|
|
[endsect]
|
|
[endsect]
|