diff --git a/docs/_sources/libs/string/basic_string/assign-iterator.txt b/docs/_sources/libs/string/basic_string/assign-iterator.txt
new file mode 100644
index 00000000..5406b47d
--- /dev/null
+++ b/docs/_sources/libs/string/basic_string/assign-iterator.txt
@@ -0,0 +1,75 @@
+.. _sprout-string-basic_string-assign-iterator:
+###############################################################################
+assign
+###############################################################################
+
+Interface
+========================================
+.. sourcecode:: c++
+
+ template
+ basic_string& assign(StringConstIterator s, size_type n);
+
+Requires
+========================================
+
+| s points to an array of at least n elements of value_type.
+
+Effects
+========================================
+
+| Replaces the string controlled by *this with a string of length n whose elements are a copy of those pointed to by s.
+
+Returns
+========================================
+
+| ``*this``.
+
+Throws
+========================================
+
+| std::length_error if ``n > max_size()``.
+
+Examples
+========================================
+.. sourcecode:: c++
+
+ #include
+ #include
+ using namespace sprout;
+
+ auto x = string<8>("homuhomu");
+ SPROUT_STATIC_CONSTEXPR auto y = string<8>("madocchi");
+ x.assign(y.begin(), 8);
+ SPROUT_ASSERT_MSG(x == y, "y is assigned to x.");
+
+----
+
+Interface
+========================================
+.. sourcecode:: c++
+
+ template
+ basic_string& assign(StringConstIterator s);
+
+Requires
+========================================
+
+| s points to an array of at least ``traits_type::length(s) + 1`` elements of value_type.
+
+Effects
+========================================
+
+| Calls ``assign(s, traits_type::length(s))``.
+
+Returns
+========================================
+
+| ``*this``.
+
+Header
+========================================
+
+| ``sprout/string/string.hpp``
+| Convenience header: ``sprout/string.hpp``
+
diff --git a/docs/_sources/libs/string/basic_string/operator-assign-iterator.txt b/docs/_sources/libs/string/basic_string/operator-assign-iterator.txt
new file mode 100644
index 00000000..dc4049ba
--- /dev/null
+++ b/docs/_sources/libs/string/basic_string/operator-assign-iterator.txt
@@ -0,0 +1,46 @@
+.. _sprout-string-basic_string-operator-assign-iterator:
+###############################################################################
+operator=
+###############################################################################
+
+Interface
+========================================
+.. sourcecode:: c++
+
+ template
+ basic_string& operator=(StringConstIterator rhs);
+
+Requires
+========================================
+
+| ``std::is_same::value || std::is_same::value``.
+
+Effects
+========================================
+
+| Equivalent to ``assign(rhs)``.
+
+Returns
+========================================
+
+| ``*this``.
+
+Examples
+========================================
+.. sourcecode:: c++
+
+ #include
+ #include
+ using namespace sprout;
+
+ auto x = string<8>("homuhomu");
+ SPROUT_STATIC_CONSTEXPR auto y = string<8>("madocchi");
+ x = y.begin();
+ SPROUT_ASSERT_MSG(x == y, "y is assigned to x.");
+
+Header
+========================================
+
+| ``sprout/string/string.hpp``
+| Convenience header: ``sprout/string.hpp``
+
diff --git a/docs/_sources/libs/string/basic_string/operator-std-basic_string.txt b/docs/_sources/libs/string/basic_string/operator-std-basic_string.txt
new file mode 100644
index 00000000..be7a2db0
--- /dev/null
+++ b/docs/_sources/libs/string/basic_string/operator-std-basic_string.txt
@@ -0,0 +1,35 @@
+.. _sprout-string-basic_string-operator-std-basic_string:
+###############################################################################
+operator std::basic_string
+###############################################################################
+
+Interface
+========================================
+.. sourcecode:: c++
+
+ template
+ SPROUT_EXPLICIT_CONVERSION operator std::basic_string() const;
+
+Returns
+========================================
+
+| conversion to std::basic_string.
+
+Examples
+========================================
+.. sourcecode:: c++
+
+ #include
+ #include
+ using namespace sprout;
+
+ SPROUT_STATIC_CONSTEXPR auto x = string<8>("homuhomu");
+ auto y = static_cast(x);
+ SPROUT_ASSERT_MASG(x == y.c_str(), "y is converted from x.");
+
+Header
+========================================
+
+| ``sprout/string/string.hpp``
+| Convenience header: ``sprout/string.hpp``
+
diff --git a/docs/_sources/libs/string/basic_string/substr.txt b/docs/_sources/libs/string/basic_string/substr.txt
new file mode 100644
index 00000000..58577333
--- /dev/null
+++ b/docs/_sources/libs/string/basic_string/substr.txt
@@ -0,0 +1,44 @@
+.. _sprout-string-basic_string-substr:
+###############################################################################
+substr
+###############################################################################
+
+Interface
+========================================
+.. sourcecode:: c++
+
+ SPROUT_CONSTEXPR basic_string substr(size_type pos = 0, size_type n = npos) const;
+
+Requires
+========================================
+
+| ``pos <= size()``.
+
+Returns
+========================================
+
+| ``basic_string(data() + pos, rlen)`` when rlen is the smaller of n and ``size() - pos``.
+
+Throws
+========================================
+
+| std::out_of_range if ``pos > size()``.
+
+Examples
+========================================
+.. sourcecode:: c++
+
+ #include
+ #include
+ using namespace sprout;
+
+ SPROUT_STATIC_CONSTEXPR auto x = string<8>("homuhomu");
+ SPROUT_STATIC_CONSTEXPR auto y = x.substr(4, 4);
+ SPROUT_ASSERT_MASG(y == "homu", "y is substring of x.");
+
+Header
+========================================
+
+| ``sprout/string/string.hpp``
+| Convenience header: ``sprout/string.hpp``
+
diff --git a/docs/libs/string/basic_string/assign-iterator.html b/docs/libs/string/basic_string/assign-iterator.html
new file mode 100644
index 00000000..16c15567
--- /dev/null
+++ b/docs/libs/string/basic_string/assign-iterator.html
@@ -0,0 +1,225 @@
+
+
+
+
+
+
+
+
+
+ assign — Sprout 1.0 documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
assign
+
+
Interface
+
template<typename StringConstIterator>
+basic_string& assign(StringConstIterator s, size_type n);
+
+
+
+
+
Requires
+
+
s points to an array of at least n elements of value_type.
+
+
+
+
Effects
+
+
Replaces the string controlled by
*this with a string of length n whose elements are a copy of those pointed to by s.
+
+
+
+
+
Throws
+
+
std::length_error if n > max_size().
+
+
+
+
Examples
+
#include <sprout/string.hpp>
+#include <sprout/assert.hpp>
+using namespace sprout;
+
+auto x = string<8>("homuhomu");
+SPROUT_STATIC_CONSTEXPR auto y = string<8>("madocchi");
+x.assign(y.begin(), 8);
+SPROUT_ASSERT_MSG(x == y, "y is assigned to x.");
+
+
+
+
+
+
Interface
+
template<typename StringConstIterator>
+basic_string& assign(StringConstIterator s);
+
+
+
+
+
Requires
+
+
s points to an array of at least traits_type::length(s) + 1 elements of value_type.
+
+
+
+
Effects
+
+
Calls assign(s, traits_type::length(s)).
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/libs/string/basic_string/data.html b/docs/libs/string/basic_string/data.html
index 1f50f4a2..c7f1345d 100644
--- a/docs/libs/string/basic_string/data.html
+++ b/docs/libs/string/basic_string/data.html
@@ -38,7 +38,7 @@
-
+
@@ -49,7 +49,7 @@
index
- next |
back
Next topic
- string
+ substr
This Page