Add py::str::format() method

This commit is contained in:
Dean Moldovan
2016-08-29 18:04:30 +02:00
parent 67990d9e19
commit 66aa2728f4
3 changed files with 27 additions and 0 deletions

View File

@@ -385,8 +385,18 @@ public:
pybind11_fail("Unable to extract string contents! (invalid type)");
return std::string(buffer, (size_t) length);
}
template <typename... Args>
str format(Args &&...args) const {
return attr("format").cast<object>()(std::forward<Args>(args)...);
}
};
inline namespace literals {
/// String literal version of str
inline str operator"" _s(const char *s, size_t size) { return {s, size}; }
}
inline pybind11::str handle::str() const {
PyObject *strValue = PyObject_Str(m_ptr);
#if PY_MAJOR_VERSION < 3