diff --git a/docs/_sources/libs/string/char_traits/assign-iterator.txt b/docs/_sources/libs/string/char_traits/assign-iterator.txt new file mode 100644 index 00000000..0d09e506 --- /dev/null +++ b/docs/_sources/libs/string/char_traits/assign-iterator.txt @@ -0,0 +1,40 @@ +.. _sprout-string-char_traits-assign-iterator: +############################################################################### +assign +############################################################################### + +Interface +======================================== +.. sourcecode:: c++ + + template + static OutputIterator assign(OutputIterator s, std::size_t n, char_type a); + +Effects +======================================== + +| For each i in [0,n) performs ``assign(s[i], c)``. + +Examples +======================================== +.. sourcecode:: c++ + + #include + #include + using namespace sprout; + + auto x = string<8>("homuhomu");; + char_traits::assign(x.begin(), 8, 'M'); + SPROUT_ASSERT_MSG(x[0] == 'M', "x is filled by M."); + +Complexity +======================================== + +| linear. + +Header +======================================== + +| ``sprout/string/char_traits.hpp`` +| Convenience header: ``sprout/string.hpp`` + diff --git a/docs/_sources/libs/string/char_traits/compare-iterator.txt b/docs/_sources/libs/string/char_traits/compare-iterator.txt new file mode 100644 index 00000000..ee22dabd --- /dev/null +++ b/docs/_sources/libs/string/char_traits/compare-iterator.txt @@ -0,0 +1,49 @@ +.. _sprout-string-char_traits-compare-iterator: +############################################################################### +compare +############################################################################### + +Interface +======================================== +.. sourcecode:: c++ + + template + static SPROUT_CONSTEXPR int compare(char_type const* s1, ConstInputIterator s2, std::size_t n); + + template + static SPROUT_CONSTEXPR int compare(ConstInputIterator s1, char_type const* s2, std::size_t n); + + template + static SPROUT_CONSTEXPR int compare(ConstInputIterator1 s1, ConstInputIterator2 s2, std::size_t n); + +Returns +======================================== + +| If for each i in [0,n), ``eq(s1[i], s2[i])`` is true, return zero. +| Otherwise, if for some j in [0,n), ``lt(s1[j], s2[j])`` is true and for each i in [0,j) ``eq(s1[i], s2[i])`` is true, return a negative value. +| Otherwise, return a positive value. + +Examples +======================================== +.. sourcecode:: c++ + + #include + using namespace sprout; + + SPROUT_STATIC_CONSTEXPR auto x = string<8>("homuhomu"); + SPROUT_STATIC_CONSTEXPR auto y = string<8>("madocchi"); + SPROUT_STATIC_CONSTEXPR auto result = char_traits::compare(x.begin(), y.begin(), 8); + static_assert(result < 0, "x is less than y."); + +Complexity +======================================== + +| linear. +| Recursive function invocations in *O(logN)* (logarithmic) depth. + +Header +======================================== + +| ``sprout/string/char_traits.hpp`` +| Convenience header: ``sprout/string.hpp`` + diff --git a/docs/_sources/libs/string/char_traits/copy-iterator.txt b/docs/_sources/libs/string/char_traits/copy-iterator.txt new file mode 100644 index 00000000..05255790 --- /dev/null +++ b/docs/_sources/libs/string/char_traits/copy-iterator.txt @@ -0,0 +1,46 @@ +.. _sprout-string-char_traits-copy-iterator: +############################################################################### +copy +############################################################################### + +Interface +======================================== +.. sourcecode:: c++ + + template + static OutputIterator copy(OutputIterator s1, ConstInputIterator s2, std::size_t n); + +Pre-condition +======================================== + +| s2 not in [s1,s1+n). + +Effects +======================================== + +| For each i in [0,n) performs ``assign(s1[i], s2[i])``. + +Examples +======================================== +.. sourcecode:: c++ + + #include + #include + using namespace sprout; + + auto x = string<8>("homuhomu");; + SPROUT_STATIC_CONSTEXPR auto y = string<8>("madocchi"); + char_traits::copy(x.begin(), y.begin(), 8); + SPROUT_ASSERT_MSG(x[0] == y[0], "y is copied to x."); + +Complexity +======================================== + +| linear. + +Header +======================================== + +| ``sprout/string/char_traits.hpp`` +| Convenience header: ``sprout/string.hpp`` + diff --git a/docs/_sources/libs/string/char_traits/copy.txt b/docs/_sources/libs/string/char_traits/copy.txt index eb40b8d7..801a4342 100644 --- a/docs/_sources/libs/string/char_traits/copy.txt +++ b/docs/_sources/libs/string/char_traits/copy.txt @@ -9,6 +9,11 @@ Interface static char_type* copy(char_type* s1, char_type const* s2, std::size_t n); +Pre-condition +======================================== + +| s2 not in [s1,s1+n). + Effects ======================================== diff --git a/docs/_sources/libs/string/char_traits/eof.txt b/docs/_sources/libs/string/char_traits/eof.txt index 477eecb0..a48cf570 100644 --- a/docs/_sources/libs/string/char_traits/eof.txt +++ b/docs/_sources/libs/string/char_traits/eof.txt @@ -9,7 +9,7 @@ Interface static SPROUT_CONSTEXPR int_type eof() SPROUT_NOEXCEPT; -Effects +Returns ======================================== | Equivalent to ``std::char_traits::eof()``. diff --git a/docs/_sources/libs/string/char_traits/eq.txt b/docs/_sources/libs/string/char_traits/eq.txt index 4d065ab0..267e906e 100644 --- a/docs/_sources/libs/string/char_traits/eq.txt +++ b/docs/_sources/libs/string/char_traits/eq.txt @@ -9,7 +9,7 @@ Interface static SPROUT_CONSTEXPR bool eq(char_type c1, char_type c2) SPROUT_NOEXCEPT; -Effects +Returns ======================================== | Equivalent to ``std::char_traits::eq(c1, c2)``. diff --git a/docs/_sources/libs/string/char_traits/eq_int_type.txt b/docs/_sources/libs/string/char_traits/eq_int_type.txt index db4295cb..34720315 100644 --- a/docs/_sources/libs/string/char_traits/eq_int_type.txt +++ b/docs/_sources/libs/string/char_traits/eq_int_type.txt @@ -9,7 +9,7 @@ Interface static SPROUT_CONSTEXPR bool eq_int_type(int_type c1, int_type c2) SPROUT_NOEXCEPT; -Effects +Returns ======================================== | Equivalent to ``std::char_traits::eq_int_type(c1, c2)``. diff --git a/docs/_sources/libs/string/char_traits/find-iterator.txt b/docs/_sources/libs/string/char_traits/find-iterator.txt new file mode 100644 index 00000000..ceee3fb7 --- /dev/null +++ b/docs/_sources/libs/string/char_traits/find-iterator.txt @@ -0,0 +1,46 @@ +.. _sprout-string-char_traits-find-iterator: +############################################################################### +find +############################################################################### + +Interface +======================================== +.. sourcecode:: c++ + + template + static SPROUT_CONSTEXPR ConstInputIterator find(ConstInputIterator s, std::size_t n, char_type const& a); + +Returns +======================================== + +| The smallest q in [s,s+n) such that ``eq(*q, a)`` is true, ``s + n`` otherwise. + +Remarks +======================================== + +| Pointer version returns 0 when it not found, but this function returns ``s + n``. + +Examples +======================================== +.. sourcecode:: c++ + + #include + #include + using namespace sprout; + + SPROUT_STATIC_CONSTEXPR auto x = string<8>("homuhomu"); + SPROUT_STATIC_CONSTEXPR auto result = char_traits::find(x.begin(), 8, 'm'); + static_assert(sprout::distance(x, result) == 2, "a found position is 2."); + +Complexity +======================================== + +| linear. +| Recursive function invocations in *O(logN)* (logarithmic) depth. + +Header +======================================== + +| ``sprout/string/char_traits.hpp`` +| Convenience header: ``sprout/string.hpp`` + diff --git a/docs/_sources/libs/string/char_traits/index.txt b/docs/_sources/libs/string/char_traits/index.txt index ccfbf3ec..fea27220 100644 --- a/docs/_sources/libs/string/char_traits/index.txt +++ b/docs/_sources/libs/string/char_traits/index.txt @@ -20,6 +20,12 @@ char_traits to_int_type eq_int_type eof + compare-iterator + length-iterator + find-iterator + move-iterator + copy-iterator + assign-iterator Interface ======================================== @@ -59,8 +65,8 @@ Interface static SPROUT_CONSTEXPR int compare(char_type const* s1, ConstInputIterator s2, std::size_t n); template static SPROUT_CONSTEXPR int compare(ConstInputIterator s1, char_type const* s2, std::size_t n); - template - static SPROUT_CONSTEXPR int compare(ConstIterator1 s1, ConstIterator2 s2, std::size_t n); + template + static SPROUT_CONSTEXPR int compare(ConstInputIterator1 s1, ConstInputIterator2 s2, std::size_t n); template static SPROUT_CONSTEXPR std::size_t length(ConstInputIterator s); template @@ -137,7 +143,7 @@ string operations (for iterator) function ======================================== =============================================================================== :doc:`compare <./compare-iterator>` -:doc:`eqlength<./length-iterator>` +:doc:`length<./length-iterator>` :doc:`find <./find-iterator>` :doc:`move <./move-iterator>` :doc:`copy <./copy-iterator>` diff --git a/docs/_sources/libs/string/char_traits/length-iterator.txt b/docs/_sources/libs/string/char_traits/length-iterator.txt new file mode 100644 index 00000000..48a8bb43 --- /dev/null +++ b/docs/_sources/libs/string/char_traits/length-iterator.txt @@ -0,0 +1,40 @@ +.. _sprout-string-char_traits-length-iterator: +############################################################################### +length +############################################################################### + +Interface +======================================== +.. sourcecode:: c++ + + template + static SPROUT_CONSTEXPR std::size_t length(ConstInputIterator s); + +Returns +======================================== + +| The smallest i such that ``eq(s[i], char_type())`` is true. + +Examples +======================================== +.. sourcecode:: c++ + + #include + using namespace sprout; + + SPROUT_STATIC_CONSTEXPR auto x = string<8>("homuhomu"); + SPROUT_STATIC_CONSTEXPR auto result = char_traits::length(x.begin()); + static_assert(result == 8, "length of x is 8."); + +Complexity +======================================== + +| linear. +| Recursive function invocations in *O(logN)* (logarithmic) depth. + +Header +======================================== + +| ``sprout/string/char_traits.hpp`` +| Convenience header: ``sprout/string.hpp`` + diff --git a/docs/_sources/libs/string/char_traits/lt.txt b/docs/_sources/libs/string/char_traits/lt.txt index a97b1c13..dc63ecde 100644 --- a/docs/_sources/libs/string/char_traits/lt.txt +++ b/docs/_sources/libs/string/char_traits/lt.txt @@ -9,7 +9,7 @@ Interface static SPROUT_CONSTEXPR bool lt(char_type c1, char_type c2) SPROUT_NOEXCEPT; -Effects +Returns ======================================== | Equivalent to ``std::char_traits::lt(c1, c2)``. diff --git a/docs/_sources/libs/string/char_traits/move-iterator.txt b/docs/_sources/libs/string/char_traits/move-iterator.txt new file mode 100644 index 00000000..1f9c0545 --- /dev/null +++ b/docs/_sources/libs/string/char_traits/move-iterator.txt @@ -0,0 +1,42 @@ +.. _sprout-string-char_traits-move-iterator: +############################################################################### +move +############################################################################### + +Interface +======================================== +.. sourcecode:: c++ + + template + static OutputIterator move(OutputIterator s1, ConstInputIterator s2, std::size_t n); + +Effects +======================================== + +| For each i in [0,n) performs ``assign(s1[i], p2[i])``. +| Copies correctly even where the ranges [s2,s2+n) and [s1,s1+n) overlap. + +Examples +======================================== +.. sourcecode:: c++ + + #include + #include + using namespace sprout; + + auto x = string<8>("homuhomu");; + SPROUT_STATIC_CONSTEXPR auto y = string<8>("madocchi"); + char_traits::move(x.begin(), y.begin(), 8); + SPROUT_ASSERT_MSG(x[0] == y[0], "y is copied to x."); + +Complexity +======================================== + +| linear. + +Header +======================================== + +| ``sprout/string/char_traits.hpp`` +| Convenience header: ``sprout/string.hpp`` + diff --git a/docs/_sources/libs/string/char_traits/not_eof.txt b/docs/_sources/libs/string/char_traits/not_eof.txt index b0ff2979..1d13d367 100644 --- a/docs/_sources/libs/string/char_traits/not_eof.txt +++ b/docs/_sources/libs/string/char_traits/not_eof.txt @@ -9,7 +9,7 @@ Interface static SPROUT_CONSTEXPR int_type not_eof(int_type c) SPROUT_NOEXCEPT; -Effects +Returns ======================================== | Equivalent to ``std::char_traits::not_eof(c)``. diff --git a/docs/_sources/libs/string/char_traits/to_char_type.txt b/docs/_sources/libs/string/char_traits/to_char_type.txt index fbd07a16..8cbcbebf 100644 --- a/docs/_sources/libs/string/char_traits/to_char_type.txt +++ b/docs/_sources/libs/string/char_traits/to_char_type.txt @@ -9,7 +9,7 @@ Interface static SPROUT_CONSTEXPR char_type to_char_type(int_type c) SPROUT_NOEXCEPT; -Effects +Returns ======================================== | Equivalent to ``std::char_traits::to_char_type(c)``. diff --git a/docs/_sources/libs/string/char_traits/to_int_type.txt b/docs/_sources/libs/string/char_traits/to_int_type.txt index 4fdb0a36..d28e20a6 100644 --- a/docs/_sources/libs/string/char_traits/to_int_type.txt +++ b/docs/_sources/libs/string/char_traits/to_int_type.txt @@ -9,7 +9,7 @@ Interface static SPROUT_CONSTEXPR int_type to_int_type(char_type c) SPROUT_NOEXCEPT; -Effects +Returns ======================================== | Equivalent to ``std::char_traits::to_int_type(c)``. diff --git a/docs/libs/string/basic_string/swap-global.html b/docs/libs/string/basic_string/swap-global.html index b21063c6..9daa155a 100644 --- a/docs/libs/string/basic_string/swap-global.html +++ b/docs/libs/string/basic_string/swap-global.html @@ -39,7 +39,7 @@ - + +
+

Pre-condition

+
+
s2 not in [s1,s1+n).
+
+

Effects

diff --git a/docs/libs/string/char_traits/eof.html b/docs/libs/string/char_traits/eof.html index 539a8feb..4e432431 100644 --- a/docs/libs/string/char_traits/eof.html +++ b/docs/libs/string/char_traits/eof.html @@ -38,7 +38,7 @@ - + @@ -49,7 +49,7 @@ index
  • - next |
  • eof
  • -
    -

    Effects

    +
    +

    Returns

    Equivalent to std::char_traits<Char>::eof().
    @@ -160,7 +160,7 @@ index
  • - next |
  • eq
  • -
    -

    Effects

    +
    +

    Returns

    Equivalent to std::char_traits<Char>::eq(c1, c2).
    diff --git a/docs/libs/string/char_traits/eq_int_type.html b/docs/libs/string/char_traits/eq_int_type.html index 41649b29..3a6472ec 100644 --- a/docs/libs/string/char_traits/eq_int_type.html +++ b/docs/libs/string/char_traits/eq_int_type.html @@ -66,7 +66,7 @@
    -
    -

    Effects

    +
    +

    Returns

    Equivalent to std::char_traits<Char>::eq_int_type(c1, c2).
    diff --git a/docs/libs/string/char_traits/find-iterator.html b/docs/libs/string/char_traits/find-iterator.html new file mode 100644 index 00000000..f434a904 --- /dev/null +++ b/docs/libs/string/char_traits/find-iterator.html @@ -0,0 +1,188 @@ + + + + + + + + + + find — Sprout 1.0 documentation + + + + + + + + + + + + + + + +
    +
    +

    Table Of Contents

    + + +

    Previous topic

    +

    length

    +

    Next topic

    +

    move

    +

    This Page

    + + + +
    +
    + +
    +
    +
    +
    + +
    +

    find

    +
    +

    Interface

    +
    template<typename ConstInputIterator>
    +static SPROUT_CONSTEXPR ConstInputIterator find(ConstInputIterator s, std::size_t n, char_type const& a);
    +
    +
    +
    +
    +

    Returns

    +
    +
    The smallest q in [s,s+n) such that eq(*q, a) is true, s + n otherwise.
    +
    +
    +
    +

    Remarks

    +
    +
    Pointer version returns 0 when it not found, but this function returns s + n.
    +
    +
    +
    +

    Examples

    +
    #include <sprout/string.hpp>
    +#include <sprout/iterator.hpp>
    +using namespace sprout;
    +
    +SPROUT_STATIC_CONSTEXPR auto x = string<8>("homuhomu");
    +SPROUT_STATIC_CONSTEXPR auto result = char_traits<char>::find(x.begin(), 8, 'm');
    +static_assert(sprout::distance(x, result) == 2, "a found position is 2.");
    +
    +
    +
    +
    +

    Complexity

    +
    +
    linear.
    +
    Recursive function invocations in O(logN) (logarithmic) depth.
    +
    +
    + +
    + + +
    +
    +
    +
    +
    + + + + \ No newline at end of file diff --git a/docs/libs/string/char_traits/index.html b/docs/libs/string/char_traits/index.html index 42a5e47e..c1e2e8df 100644 --- a/docs/libs/string/char_traits/index.html +++ b/docs/libs/string/char_traits/index.html @@ -153,8 +153,8 @@ static SPROUT_CONSTEXPR int compare(char_type const* s1, ConstInputIterator s2, std::size_t n); template<typename ConstInputIterator> static SPROUT_CONSTEXPR int compare(ConstInputIterator s1, char_type const* s2, std::size_t n); - template<typename ConstIterator1, typename ConstIterator2> - static SPROUT_CONSTEXPR int compare(ConstIterator1 s1, ConstIterator2 s2, std::size_t n); + template<typename ConstInputIterator1, typename ConstInputIterator2> + static SPROUT_CONSTEXPR int compare(ConstInputIterator1 s1, ConstInputIterator2 s2, std::size_t n); template<typename ConstInputIterator> static SPROUT_CONSTEXPR std::size_t length(ConstInputIterator s); template<typename ConstInputIterator> @@ -314,22 +314,22 @@ -compare +compare   -eqlength +length   -find +find   -move +move   -copy +copy   -assign +assign   diff --git a/docs/libs/string/char_traits/length-iterator.html b/docs/libs/string/char_traits/length-iterator.html new file mode 100644 index 00000000..41312a27 --- /dev/null +++ b/docs/libs/string/char_traits/length-iterator.html @@ -0,0 +1,180 @@ + + + + + + + + + + length — Sprout 1.0 documentation + + + + + + + + + + + + + + + +
    +
    +

    Table Of Contents

    + + +

    Previous topic

    +

    compare

    +

    Next topic

    +

    find

    +

    This Page

    + + + +
    +
    + +
    +
    +
    +
    + +
    +

    length

    +
    +

    Interface

    +
    template<typename ConstInputIterator>
    +static SPROUT_CONSTEXPR std::size_t length(ConstInputIterator s);
    +
    +
    +
    +
    +

    Returns

    +
    +
    The smallest i such that eq(s[i], char_type()) is true.
    +
    +
    +
    +

    Examples

    +
    #include <sprout/string.hpp>
    +using namespace sprout;
    +
    +SPROUT_STATIC_CONSTEXPR auto x = string<8>("homuhomu");
    +SPROUT_STATIC_CONSTEXPR auto result = char_traits<char>::length(x.begin());
    +static_assert(result == 8, "length of x is 8.");
    +
    +
    +
    +
    +

    Complexity

    +
    +
    linear.
    +
    Recursive function invocations in O(logN) (logarithmic) depth.
    +
    +
    + +
    + + +
    +
    +
    +
    +
    + + + + \ No newline at end of file diff --git a/docs/libs/string/char_traits/lt.html b/docs/libs/string/char_traits/lt.html index cb95d3cd..e4760e4b 100644 --- a/docs/libs/string/char_traits/lt.html +++ b/docs/libs/string/char_traits/lt.html @@ -66,7 +66,7 @@
    -
    -

    Effects

    +
    +

    Returns

    Equivalent to std::char_traits<Char>::lt(c1, c2).
    diff --git a/docs/libs/string/char_traits/move-iterator.html b/docs/libs/string/char_traits/move-iterator.html new file mode 100644 index 00000000..d3ab649a --- /dev/null +++ b/docs/libs/string/char_traits/move-iterator.html @@ -0,0 +1,182 @@ + + + + + + + + + + move — Sprout 1.0 documentation + + + + + + + + + + + + + + + +
    +
    +

    Table Of Contents

    + + +

    Previous topic

    +

    find

    +

    Next topic

    +

    copy

    +

    This Page

    + + + +
    +
    + +
    +
    +
    +
    + +
    +

    move

    +
    +

    Interface

    +
    template<typename OutputIterator, typename ConstInputIterator>
    +static OutputIterator move(OutputIterator s1, ConstInputIterator s2, std::size_t n);
    +
    +
    +
    +
    +

    Effects

    +
    +
    For each i in [0,n) performs assign(s1[i], p2[i]).
    +
    Copies correctly even where the ranges [s2,s2+n) and [s1,s1+n) overlap.
    +
    +
    +
    +

    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");
    +char_traits<char>::move(x.begin(), y.begin(), 8);
    +SPROUT_ASSERT_MSG(x[0] == y[0], "y is copied to x.");
    +
    +
    +
    +
    +

    Complexity

    +
    +
    linear.
    +
    +
    + +
    + + +
    +
    +
    +
    +
    + + + + \ No newline at end of file diff --git a/docs/libs/string/char_traits/not_eof.html b/docs/libs/string/char_traits/not_eof.html index fa216527..04d4ec4d 100644 --- a/docs/libs/string/char_traits/not_eof.html +++ b/docs/libs/string/char_traits/not_eof.html @@ -66,7 +66,7 @@
    -
    -

    Effects

    +
    +

    Returns

    Equivalent to std::char_traits<Char>::not_eof(c).
    diff --git a/docs/libs/string/char_traits/to_char_type.html b/docs/libs/string/char_traits/to_char_type.html index 9bd6bac2..32c6cec8 100644 --- a/docs/libs/string/char_traits/to_char_type.html +++ b/docs/libs/string/char_traits/to_char_type.html @@ -66,7 +66,7 @@
    -
    -

    Effects

    +
    +

    Returns

    Equivalent to std::char_traits<Char>::to_char_type(c).
    diff --git a/docs/libs/string/char_traits/to_int_type.html b/docs/libs/string/char_traits/to_int_type.html index 2fc254b9..09112deb 100644 --- a/docs/libs/string/char_traits/to_int_type.html +++ b/docs/libs/string/char_traits/to_int_type.html @@ -66,7 +66,7 @@
    -
    -

    Effects

    +
    +

    Returns

    Equivalent to std::char_traits<Char>::to_int_type(c).
    diff --git a/docs/searchindex.js b/docs/searchindex.js index 398971b1..6ce29620 100644 --- a/docs/searchindex.js +++ b/docs/searchindex.js @@ -1 +1 @@ -Search.setIndex({objects:{},terms:{all:[92,64,39,49,25,66,35],math_funct:71,definit:[17,18,95,80],prefix:[5,45],follow:[22,81,9,2,70,96,3,75,16,34,55,103,110,45,109,89,47,108],find_if:[45,2,21],value_typ:18,whose:102,"const":[0,1,29,58,82,3,59,32,33,23,86,6,51,61,62,40,35,101,36,9,38,106,63,12,41,53,42,43,44,45,94,89,67,98,92,13,91,72,73,74,75,88,48,16,104,18,19,20,77,52,90,78,105,24,25,64,76,54,79,80,109,111],tuple_el:[11,100,14,65],bind2nd:[2,39,34,60,45,7,97,103],compost:71,to_string_of:100,swap:[100,15,30,84,18,65],under:37,iterator_trait:[109,34],is_strictly_decreas:[26,21],sprout_no_cxx14_initializer_list:[54,41,52],everi:[92,97,63,110,39],count_if:[34,21],fals:[0,29,5,60,7,63,88,36,38,106,43,97,98,99,72,74,48,92,19,20,78,24,39,110],is_sorted_until:[21,8,10],result2:45,result1:45,util:71,facebook:37,element_typ:[11,14],syntax:[11,56,4,14,102],min_el:[22,21],one_of_equ:[98,21],list:[99,81,71,102,52,110],to_u16str:100,iter:[81,2,58,31,23,34,60,7,89,40,35,91,92,9,38,39,8,108,44,97,47,98,99,59,70,71,96,75,16,50,51,103,22,63,18,55,67,79,80,109,110],initializer_list:[54,41,52],upper:[16,64],impli:[35,64],find_end:[96,21],zero:[45,86,90],aggreg:102,odd:34,linear:[57,1,91,15,30,12,84,42,50,111,77,8,101],compat:71,index:[86,90],compar:[22,16,9,93,50,10,3,31,41,5,64,54,52,45,80,77,8,35,47],neg:75,brief:37,access:[99,18,110],inputiterator1:[5,45,81,70,110],inputiterator2:[5,45,81,110],version:[45,37,94,73],boost:37,hash:[100,42,95,17,65,111],gener:[100,71,42,95,17,65,111],satisfi:35,path:37,becom:62,modifi:[18,21],valu:[4,3,109,89,63,35,14,92,9,38,64,11,41,95,42,108,96,45,98,99,70,73,75,16,17,54,52,94,107,18,55,28,56,111],search:[55,35,21],constiterator2:80,constiterator1:80,checksum:71,larger:[31,54],none_of_equ:[63,21],is_heap_until:[50,93,21],implement:[52,18,41,54],instal:37,txt:37,make_arrai:[49,66,65],pos_typ:80,range_numer:71,from:[111,2,70,17,96,25,75,95,107,42,34,55,28,109,89,103,108],would:99,pred:[99,81,2,70,39,96,75,34,55,110,60,7,97,103,108],two:[5,45,3],websit:37,program:[11,86,90,14],call:[42,84,90,111,86],type:[4,102,14,54,42,11,111,3,71,41,95,75,49,17,18,28,107,80,56,66,52],until:[50,8],sort:[21,8,10],cwchar:71,mismatch:[81,21],int_to_str:100,hold:[22,81,9,2,70,96,3,75,16,34,55,103,110,109,89,47,108],logarithm:[0,81,29,99,83,31,85,5,34,60,2,7,89,8,35,91,36,9,93,38,75,10,63,12,41,42,108,103,45,97,47,98,68,70,72,96,74,39,88,48,16,43,54,92,19,20,77,52,22,24,26,106,64,50,55,109,111,110],high:3,none:[97,63],can:[37,62,102],meet:[17,110,95,99],input2:[99,81,70,96,5,55,45,110],off_typ:80,input1:[99,81,2,70,96,75,5,55,45,89,103,110],give:[37,3],templat:[0,4,29,30,83,3,31,81,5,86,34,60,2,7,62,8,35,70,36,9,93,38,75,10,11,63,41,95,42,99,108,103,45,85,66,47,98,68,89,14,15,71,72,96,74,39,88,48,16,17,43,18,92,19,20,90,52,80,22,49,97,24,50,25,26,106,64,76,54,55,56,109,111,110],hash_rang:[17,111,95,42],minimum:21,stoll:100,stold:100,string:[57,1,29,100,30,86,87,62,91,104,106,12,42,46,69,14,71,48,17,101,80,20,77,24,27,43,107,28,56,112],alwai:[59,40,58,79],gcc:37,end:[81,2,99,83,31,85,5,34,60,109,89,63,7,92,9,93,38,10,8,35,108,45,97,47,98,68,84,70,96,75,16,50,76,103,22,26,39,64,18,55,67,110],find_if_not:[103,21],basic_str:[100,62,29,14,106,42,30,48,86,17,43,20,24,56],"void":[94,15,30,73,84,18,80,104],make_common_arrai:[66,65],max:[22,13,31,54,52,47,21],after:[40,58,67,44],variant:71,mai:3,const_iter:[23,18,40,79,67],stol:100,github:37,inttyp:100,japanes:37,correspond:[81,2,3,31,5,34,109,89,35,9,52,45,47,99,70,96,75,16,103,22,108,55,110],element:[2,58,30,31,32,33,5,86,34,6,61,89,40,35,70,9,64,11,90,82,44,45,66,47,99,59,13,14,15,16,18,102,51,103,22,23,53,49,25,105,108,67,79,109,84],caus:53,callabl:[42,90,111,86],worst:99,first:[81,2,83,31,85,23,34,60,6,7,89,8,35,92,9,93,38,10,63,41,108,103,45,97,47,98,68,59,70,61,75,16,54,51,52,22,5,105,26,39,64,50,55,79,109],string_from_c_str:100,ith:[86,90],sprout:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112],move:[86,80,101,90,76],becaus:[42,90,111,86],increas:[83,85],through:37,binarypred:[99,81,70,96,75,108,55,110],pointer:[105,18,6],equiv:45,shorter:[5,45],tristate_lexicographical_compar:[45,21],uuid:71,fix:71,decai:66,mail:37,non:[100,75,5,65,45,21],"return":[0,2,3,23,6,7,8,9,10,12,13,91,16,19,20,22,5,24,25,26,106,29,31,32,33,34,35,36,38,39,40,41,42,44,45,47,48,49,54,51,52,53,50,55,56,4,58,59,60,61,62,63,64,66,67,68,70,72,96,74,75,76,77,78,79,81,82,83,85,86,88,89,90,92,93,94,73,97,98,99,103,105,43,108,109,111,110],greater:[68,24,72,48,60,19,45,2,7,97],nonneg:[96,55],auto:[0,2,3,23,6,7,8,9,10,12,87,91,15,16,17,19,20,22,5,24,25,26,27,28,29,30,31,32,33,34,35,36,38,39,40,41,42,43,44,45,47,48,49,54,51,52,53,50,55,56,4,58,59,60,61,62,63,64,66,67,68,69,70,72,73,74,75,76,77,78,79,81,82,83,84,85,86,13,88,89,90,92,93,94,95,96,97,98,99,102,103,105,106,107,108,109,110,111,112],initi:[49,66,18,52,102],bound:[9,53,14,64,11,33,16,86,90],front:[61,18],oper:[0,29,76,100,20,88,62,36,106,95,65,71,72,74,48,17,18,19,53,21,24,43,80],from_str:100,lexicographical_compar:[5,21],revers:[51,59,58,44],separ:102,mode:37,each:[37,84,108,15,30],found:[81,2,70,96,75,108,55,89,35,103,91],compil:[37,71],adjacent_find:[108,21],domain:71,individu:37,"static":[87,57,1,69,91,27,107,12,28,80,77,112,46,101,104],madocchi:[1,29,30,106,48,24,101,20,77],logn:[0,81,29,99,83,31,85,5,34,60,2,7,89,8,35,91,36,9,93,38,75,10,63,12,41,42,108,103,45,97,47,98,68,70,72,96,74,39,88,48,16,43,54,92,19,20,77,52,22,24,26,106,64,50,55,109,111,110],special:[100,65],out:[53,14,11,33,86,90],all_of_equ:[92,64,21],categori:71,typenam:[0,4,29,30,83,3,31,81,5,86,34,60,2,7,62,8,35,70,36,9,93,38,75,10,11,63,41,95,42,99,108,103,45,85,66,47,98,68,89,14,15,72,96,74,39,88,48,16,17,43,18,92,19,20,90,52,80,22,49,97,24,50,25,26,106,64,76,54,55,56,109,111,110],inputiter:[92,97,2,38,39,34,60,7,89,63,109,103,98],integr:[56,4,75],log2:[16,9,35,64],forwarditerator2:[96,55,70,99],forwarditerator1:[96,55,99],standard:71,base:[37,90,86],org:37,upper_bound:[16,64,21],length:[80,12,62,71],string_to_float:100,one_of:[60,21],homuhomu:[57,1,24,91,106,42,12,30,48,86,17,101,43,29,20,77],assign:[80,57,18,104,94],tuple_s:[56,4,100,65],origin:[28,107],softwar:37,rang:[81,2,31,5,34,60,109,89,63,7,92,9,38,39,8,35,45,97,47,98,99,70,96,75,16,50,103,22,64,108,55,110],declval:[18,84],arrai:[0,4,2,50,30,83,3,31,32,68,33,23,34,60,95,6,7,89,8,61,58,36,9,93,38,102,10,11,40,82,41,81,35,99,108,103,98,44,45,94,85,66,47,96,65,59,13,70,15,71,72,73,74,63,75,88,78,16,18,92,19,51,90,52,22,5,97,53,49,25,105,26,39,64,76,54,55,67,79,109,84,111,110],number:[37,13,3,32,5,34,45,109,62],cinttyp:71,smaller:[31,41,52],max_el:[47,21],lexicograph:[0,24,106,72,74,48,5,19,45,29,21],size:[78,4,75,13,54,71,32,41,49,18,56,66,52],given:[99,81,110],rightmost:52,data:[105,18,6,71],licens:37,cstring:71,capac:18,construct:18,conveni:[0,1,2,3,4,5,6,7,8,9,10,11,12,87,14,15,16,17,18,19,20,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,66,67,68,69,70,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,13,88,89,90,91,92,93,94,95,96,97,98,99,101,102,103,104,105,106,107,108,109,110,111,112],store:[62,71],to_hash:[42,111],darkroom:71,namespac:[0,1,2,3,4,5,6,7,8,9,10,11,12,87,14,15,16,17,19,20,22,23,24,26,27,28,29,30,31,32,33,34,35,36,38,39,40,41,42,43,44,45,46,47,48,54,51,52,53,50,55,56,57,58,59,60,61,62,63,64,67,68,69,70,72,73,74,75,76,77,78,79,81,82,83,84,85,86,13,88,89,90,91,92,93,94,95,96,97,98,99,101,102,103,104,105,106,107,108,109,110,111,112],copi:[37,1,54,25,41,101,18,76,80,52],specifi:[53,41,33,49,54,52],pars:[37,71],c_arrai:[105,18],first1:[99,81,70,96,5,55,45,110],first2:[99,81,70,96,5,55,45,110],exactli:[22,99,3,34,47,109,52,108],state_typ:80,than:[0,29,2,60,106,72,27,39,75,48,5,55,103,19,45,24,7,97,77,74,52],std:[0,57,1,29,100,30,76,4,33,86,34,87,109,62,90,88,101,91,36,104,106,11,12,41,95,42,43,65,46,84,69,14,15,72,73,74,48,17,18,19,20,77,52,80,24,25,27,94,107,54,28,56,111,112],to_int_typ:[80,28,107],second:[81,31,52,64],structur:71,charact:[80,100],project:37,posit:[81,2,58,31,33,86,89,40,91,9,64,90,44,67,70,96,75,16,50,103,22,53,8,108,55,47],to_wstr:100,rend:[18,44],argument:[99,81,62,41,49,54,66,52,110],int_typ:[69,107,28,80,46,112],rai:[37,71],have:[5,45],need:49,predic:[81,2,31,34,60,7,89,63,109,92,38,39,52,97,98,99,70,96,75,103,108,55,110],constexprrandomaccessiter:18,option:71,built:25,equival:[57,1,5,86,87,88,90,36,104,43,12,41,95,42,45,46,69,91,17,54,20,77,52,27,107,101,28,111,112],min:[22,81,31,41,5,108,52,45,110,47,21],greater_equ:26,destroi:18,note:[42,18,90,111,86],also:[35,64],without:[73,94],which:[37,81,2,50,34,109,89,8,103,108],equal_rang:[64,21],const_refer:[53,82,73,94,33,18,61],sprout_noexcept:[87,58,59,32,23,86,6,69,90,40,44,46,67,13,105,18,51,78,27,107,28,79,80,112],begin:[81,2,94,99,83,31,85,23,34,60,109,89,8,7,92,9,93,38,10,63,35,108,96,45,97,47,98,68,84,70,73,75,16,50,76,103,22,5,26,39,64,18,55,110],unless:[84,15,30],distribut:37,trace:[37,71],shall:[16,9,75,52,64],buffer:[62,71],object:[49,71,66,25],size_typ:[53,18,13,32,33],pair:[81,64,31,5,45,52],crbegin:[59,18],madohomu:62,"class":[100,71,95,17,18,65],accompani:37,binary_search:[35,21],random:[37,99,110,71],rbegin:[51,18],all_of:[39,21],find:[70,96,75,55,80,89,91,21],onli:[37,18,60,98],explicitli:49,copyright:37,swap_rang:84,get:[86,90],lower_bound:[64,9,21],make_str:100,express:[4,9,91,64,12,16,56,77,35],clang:37,range_adaptor:71,stoi:100,stod:100,none_of:[97,21],stof:100,is_sort:[68,10,83,85,26,21],requir:[99,86,9,14,64,11,3,41,95,75,16,17,54,90,35,52,110],synthes:[37,71],yield:[5,45],common:66,partit:[16,9,35,64],contain:[81,2,99,83,31,32,5,34,60,6,7,89,8,35,36,37,9,93,38,10,63,43,45,97,47,98,68,13,70,71,92,96,75,88,85,16,50,20,103,22,105,26,39,64,108,55,109,110],comma:102,where:[99,31,86,108,102,90,52],valid:[42,90,111,86],wiki:37,arr:25,set:70,cstdio:46,minmax:[52,21],see:37,result:[81,2,99,83,3,31,85,5,34,60,87,7,62,8,35,91,92,9,93,38,10,63,12,41,108,103,45,89,97,47,98,68,69,70,96,75,16,54,77,52,22,26,27,39,107,64,50,55,28,109,110,112],arg:[49,66],hash_valu:[42,100,111,65],any_of_equ:[38,21],modulu:34,slideshar:37,eq_int_typ:[80,69,28,107],less_equ:83,smallest:[41,52],neither:[5,45],paramet:49,numer:[100,71],comp:[22,16,9,93,50,10,3,31,41,5,64,54,52,45,8,35,47],crend:[18,58],typedef:[80,18],cbegin:[18,40,79],constexpr:[37,54,41,52],type_trait:[11,14,71],preprocessor:71,randomaccessiter:[50,93],struct:[4,14,11,95,17,56,80],both:108,metaprogram:71,last:[2,58,82,83,31,85,34,60,109,89,63,7,92,9,93,38,10,8,35,44,97,47,98,68,96,75,16,50,103,22,26,39,64,108,67,40],delimit:45,ill:[11,86,90,14],equal:[99,87,88,89,63,109,36,38,106,43,98,92,69,70,72,96,74,75,48,20,21,64,107,108,55,28,110],range_algorithm:71,char_trait:[87,57,1,69,91,27,107,100,12,28,80,77,112,46,101,104],bitset:71,static_s:18,stoumax:100,point:[37,3],header:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112],permut:99,is_permut:[99,21],respect:[16,9,35,64],minmax_el:[31,21],difference_typ:[109,18,34],stretch:100,empti:[78,92,38,39,96,31,5,18,55,98,45,60,7,97,63,70],unexpect:3,cend:18,remark:[49,81,66,53,99,3,41,5,54,102,45,62,52,110],ani:[22,16,9,38,96,75,5,55,45,7,47],assert:[57,1,94,15,30,73,84,101,104],sprout_noexcept_expr:[18,84,15,30],tuple_get:[86,90,100,65],convers:100,"case":[73,94],u32str:100,ident:3,defin:[86,41,5,42,18,54,111,45,90,52],sprout_constexpr:[0,2,3,23,6,7,8,9,10,12,87,91,16,18,19,20,22,5,24,25,26,27,28,29,31,32,33,34,35,36,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,58,59,60,61,62,63,64,66,67,68,69,70,72,96,74,75,77,78,79,80,81,82,83,85,86,13,88,89,90,92,93,94,73,97,98,99,103,105,106,107,108,109,110,111,112],behavior:53,furthermost:[16,9],exist:99,invoc:[0,2,23,6,7,8,9,10,12,87,91,16,19,20,22,5,24,25,26,27,28,29,31,32,33,34,35,36,38,39,40,41,42,44,45,46,47,48,49,54,51,52,53,50,55,58,59,60,61,62,63,64,66,67,68,69,70,72,96,74,75,77,78,79,81,82,83,85,86,13,88,89,90,92,93,94,106,73,97,98,99,102,103,105,43,107,108,109,110,111,112],bolero:37,cctype:71,floattyp:100,sever:[54,41,52],welcom:37,author:37,alphabet:71,murakami:37,same:[68,25,26,85,5,86,83,45,90],member:[100,95,17,18,65,80],binari:[35,21],complex:[0,1,2,3,23,6,7,8,9,10,12,87,91,15,16,19,20,22,5,24,25,26,27,28,29,30,31,32,33,34,35,36,38,39,40,41,42,43,44,45,46,47,48,49,54,51,52,53,50,55,57,58,59,60,61,62,63,64,66,67,68,69,70,71,72,96,74,75,77,78,79,81,82,83,84,85,86,13,88,89,90,92,93,94,73,97,98,99,101,102,103,104,105,106,107,108,109,110,111,112],largest:[62,54,52],document:37,http:37,effect:[57,1,69,70,15,30,73,27,84,75,96,107,94,55,28,76,87,112,46,101,104],weed:71,stoul:100,lower:[9,64],elem:18,is_heap:[93,21],exampl:[0,1,2,3,4,5,6,7,8,9,10,11,12,87,14,15,16,17,19,20,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,38,39,40,41,42,43,44,45,46,47,48,49,54,51,52,53,50,55,56,57,58,59,60,61,62,63,64,66,67,68,69,70,72,73,74,75,76,77,78,79,81,82,83,84,85,86,13,88,89,90,91,92,93,94,95,96,97,98,99,101,102,103,104,105,106,107,108,109,110,111,112],thi:[37,41,49,54,76,52],undefin:53,sprout_static_constexpr:[0,1,2,3,23,6,7,8,9,10,12,87,91,16,17,18,19,20,22,5,24,25,26,27,28,29,31,32,33,34,35,36,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,4,58,59,60,61,62,63,64,66,67,68,69,70,72,96,74,75,77,78,79,81,82,83,85,86,13,88,89,90,92,93,94,95,73,97,98,99,101,102,103,104,105,106,107,108,109,110,111,112],bit_oper:71,distanc:[99,31,8,91,50],eqlength:80,less:[0,29,39,27,106,75,85,5,55,45,77,74,103],nan:3,license_1_0:37,float_to_str:100,is_strictly_increas:[83,21],float_to_string_exp:100,static_assert:[0,2,3,23,6,7,8,9,10,11,12,87,14,16,17,19,20,22,5,24,25,26,27,28,29,31,32,33,34,35,36,38,39,40,41,42,43,44,45,46,47,48,49,54,51,52,53,50,55,56,4,58,59,60,61,62,63,64,66,67,68,69,70,72,96,74,75,77,78,79,81,82,83,85,86,13,88,89,90,91,92,93,94,95,73,97,98,99,103,105,106,107,108,109,110,111,112],miscellan:71,size_t:[0,57,1,29,30,4,86,88,62,90,91,36,106,11,12,95,42,14,15,72,74,48,17,18,19,20,77,80,24,25,43,101,56,111],except:[84,15,30],blog:37,exposit:18,input:[2,58,82,83,3,31,32,33,23,86,34,60,6,7,89,8,35,92,9,93,38,39,40,41,95,42,108,103,44,97,47,98,68,59,13,85,61,78,16,17,54,102,51,90,52,22,105,53,63,26,10,64,50,67,79,109,111],adl:[42,90,111,86],subsequ:[96,55,75],match:70,applic:[81,2,31,5,34,60,7,89,63,109,92,38,39,103,45,97,47,98,99,70,96,75,52,22,108,55,110],wstring:100,is_increas:[85,21],recurs:[0,2,23,6,7,8,9,10,12,87,91,16,19,20,22,5,24,25,26,27,28,29,31,32,33,34,35,36,38,39,40,41,42,44,45,46,47,48,49,54,51,52,53,50,55,58,59,60,61,62,63,64,66,67,68,69,70,72,96,74,75,77,78,79,81,82,83,85,86,13,88,89,90,92,93,94,106,73,97,98,99,102,103,105,43,107,108,109,110,111,112],insert:100,like:71,specif:71,integ:[80,55,75,96],noth:[84,15,30],char_typ:[57,1,87,91,27,107,101,28,80,77,12,104],page:37,www:37,homu:62,twitter:37,linux:37,some:70,back:[105,18,6,82],last1:[99,81,70,96,5,55,45,110],last2:[99,81,70,96,5,55,45,110],sizeof:[49,66],make_pair:[31,64],librari:[37,71],not_eof:[80,112],common_decai:66,mathemat:71,const_point:[105,18,6],nonempti:108,condit:[22,81,9,2,70,96,3,75,16,34,55,103,110,109,89,35,47,108],leftmost:[54,41,52],content:[36,0,29,106,72,37,74,19,48,43,20,24,88],refer:[53,82,31,33,86,18,61,90],ration:71,stoimax:100,index_tupl:71,repositori:37,lessthancompar:[3,54,41,52],sprout_assert_msg:[57,1,94,15,30,73,84,101,104],"throw":[33,84,15,30],comparison:[0,29,3,5,100,88,35,36,9,106,43,65,45,47,72,74,48,16,19,20,52,21,22,24,64],most:[81,2,31,5,60,7,89,63,35,92,9,38,39,103,45,97,98,70,96,75,16,52,64,55,110],delim1:45,delim2:45,find_first_of:[70,21],includ:[0,1,2,3,4,5,6,7,8,9,10,11,12,87,14,15,16,17,19,20,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,38,39,40,41,42,43,44,45,46,47,48,49,54,51,52,53,50,55,56,57,58,59,60,61,62,63,64,66,67,68,69,70,72,73,74,75,76,77,78,79,81,82,83,84,85,86,13,88,89,90,91,92,93,94,95,96,97,98,99,101,102,103,104,105,106,107,108,109,110,111,112],ptrdiff_t:18,string_to_int:100,search_n:[75,21],any_of:[7,21],clamp:[3,21],"float":3,fill_n:[73,94],forwarditer:[22,68,9,10,26,31,75,85,16,64,108,83,8,35,47],cstdlib:71,u16str:100,fill:[73,57,18,94],support:[37,100,71,41,54,65,52],transform:45,out_of_rang:33,start:37,compliant:71,interfac:[0,1,2,3,4,5,6,7,8,9,10,11,12,87,14,15,16,17,18,19,20,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,13,88,89,90,91,92,93,94,95,96,97,98,99,100,101,103,104,105,106,107,108,109,110,111,112],low:3,strictli:[26,83],const_reverse_iter:[59,51,18,58,44],"function":[0,2,23,6,7,8,9,10,12,87,91,16,17,18,19,20,21,22,5,24,25,26,27,28,29,31,32,33,34,35,36,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,96,74,75,77,78,79,80,81,82,83,85,86,13,88,89,90,92,93,94,95,73,97,98,99,100,102,103,105,106,107,108,109,110,111,112],form:[11,86,90,14],tupl:[4,100,14,71,11,86,65,56,90,111],is_sam:[11,14],link:37,heap:[50,93,21],inlin:[0,81,29,30,83,3,31,85,5,86,34,60,2,7,62,8,35,36,9,93,38,75,10,63,41,42,99,108,103,45,66,47,98,68,89,70,15,72,96,74,39,88,48,16,43,54,92,19,20,90,52,22,49,97,24,25,26,106,64,50,55,109,111,110],"true":[0,29,99,5,60,88,63,7,36,38,106,35,43,97,98,92,72,74,48,19,20,78,24,39,110],longer:[5,45],count:[109,34,75,21],concaten:[62,100],wise:84,mado:62,maximum:21,is_decreas:[68,21],below:[99,81,110],extractor:100,to_char_typ:[80,28,107],otherwis:[0,29,99,3,31,5,60,7,63,88,36,38,106,8,43,45,97,98,92,72,74,48,50,19,20,52,78,24,39,55,110],constant:[87,4,58,82,59,32,33,23,86,6,69,61,62,40,104,94,90,12,44,66,46,67,13,91,73,49,18,102,51,77,78,105,53,25,27,107,28,79,56,112],sub_arrai:71,"int":[0,4,2,58,82,83,3,31,32,33,23,34,60,95,6,69,7,89,8,61,36,9,93,38,102,10,11,40,41,81,35,99,108,103,98,44,45,94,85,97,47,96,67,68,59,13,70,15,72,73,74,63,75,88,78,16,54,92,19,51,77,52,90,22,5,53,49,25,105,26,39,107,64,76,50,55,28,79,80,109,84,111,110],to_arrai:[65,25],matafunct:[100,65],"char":[87,57,1,69,14,27,46,104,101,28,112,80,77,107,12,91],decreas:[26,68],file:37,adjac:108,pit:71,constinputiter:80,denot:[99,81,110],copyconstruct:[54,41,52],floor:31,hpp:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112],when:[54,41,52],other:[5,37,45,108],bool:[0,29,99,83,85,5,60,87,7,63,35,36,93,38,10,43,97,98,68,69,72,74,39,88,48,18,92,19,20,78,24,26,27,106,80,110],trait:[100,62,29,14,106,42,30,48,86,17,43,20,24,56],shrink:100,sequenc:[71,96,75,5,55,45,21],stoull:100,max_siz:[18,13],outputiter:80,to_u32str:100,concat:62,eof:[80,46,112],algorithm:[81,2,99,83,3,31,85,5,34,60,7,89,8,35,92,37,9,93,38,10,63,41,108,103,65,45,97,47,98,68,70,71,96,75,16,54,52,21,22,100,26,39,64,50,55,109,110],reverse_iter:[51,18,44],directori:37,descript:[37,100,95,17,18,65,80],to_str:100,depth:[0,2,23,6,7,8,9,10,12,87,91,16,19,20,22,5,24,25,26,27,28,29,31,32,33,34,35,36,38,39,40,41,42,44,45,46,47,48,49,54,51,52,53,50,55,58,59,60,61,62,63,64,66,67,68,69,70,72,96,74,75,77,78,79,81,82,83,85,86,13,88,89,90,92,93,94,106,73,97,98,99,102,103,105,43,107,108,109,110,111,112],time:71,convert:[18,107,28,102,75]},objtypes:{},titles:["operator<","copy","find_if","clamp","std::tuple_size","lexicographical_compare","back","any_of","is_sorted_until","lower_bound","is_sorted","std::tuple_element","length","max_size","std::tuple_element","swap","upper_bound","std::hash","array","operator>","operator!=","Sprout.Algorithm","min_element","begin","operator>","to_array","is_strictly_decreasing","lt","to_char_type","operator<","swap","minmax_element","size","at","count_if","binary_search","operator!=","Sprout C++ Libraries","any_of_equal","all_of","cbegin","min","hash_value","operator==","rend","tristate_lexicographical_compare","eof","max_element","operator>=","make_array","is_heap_until","rbegin","minmax","operator[]","max","search","std::tuple_size","assign","crend","crbegin","one_of","front","operator+","none_of_equal","equal_range","Sprout.Array","make_common_array","end","is_decreasing","eq_int_type","find_first_of","Libraries","operator>=","fill","operator<=","search_n","operator=","compare","empty","cbegin","char_traits","mismatch","back","is_strictly_increasing","swap","is_increasing","tuple_get","eq","operator==","find","tuple_get","find","all_of_equal","is_heap","assign","std::hash","find_end","none_of","one_of_equal","is_permutation","Sprout.String","move","(initializer)","find_if_not","assign","back","operator<=","to_int_type","adjacent_find","count","equal","hash_value","not_eof"],objnames:{},filenames:["libs/array/array/operator-less","libs/string/char_traits/copy","libs/algorithm/find_if","libs/algorithm/clamp","libs/array/array/std-tuple_size","libs/algorithm/lexicographical_compare","libs/array/array/data","libs/algorithm/any_of","libs/algorithm/is_sorted_until","libs/algorithm/lower_bound","libs/algorithm/is_sorted","libs/array/array/std-tuple_element","libs/string/char_traits/length","libs/array/array/max_size","libs/string/basic_string/std-tuple_element","libs/array/array/swap-global","libs/algorithm/upper_bound","libs/string/basic_string/std-hash","libs/array/array/index","libs/array/array/operator-greater","libs/string/basic_string/operator-not_equal_to","libs/algorithm/index","libs/algorithm/min_element","libs/array/array/begin","libs/string/basic_string/operator-greater","libs/array/to_array","libs/algorithm/is_strictly_decreasing","libs/string/char_traits/lt","libs/string/char_traits/to_char_type","libs/string/basic_string/operator-less","libs/string/basic_string/swap-global","libs/algorithm/minmax_element","libs/array/array/size","libs/array/array/at","libs/algorithm/count_if","libs/algorithm/binary_search","libs/array/array/operator-not_equal_to","index","libs/algorithm/any_of_equal","libs/algorithm/all_of","libs/array/array/cend","libs/algorithm/min","libs/string/basic_string/hash_value","libs/string/basic_string/operator-equal_to","libs/array/array/rend","libs/algorithm/tristate_lexicographical_compare","libs/string/char_traits/eof","libs/algorithm/max_element","libs/string/basic_string/operator-greater_equal","libs/array/make_array","libs/algorithm/is_heap_until","libs/array/array/rbegin","libs/algorithm/minmax","libs/array/array/operator-subscript","libs/algorithm/max","libs/algorithm/search","libs/string/basic_string/std-tuple_size","libs/string/char_traits/assign-string","libs/array/array/crend","libs/array/array/crbegin","libs/algorithm/one_of","libs/array/array/front","libs/string/basic_string/operator-plus","libs/algorithm/none_of_equal","libs/algorithm/equal_range","libs/array/index","libs/array/make_common_array","libs/array/array/end","libs/algorithm/is_decreasing","libs/string/char_traits/eq_int_type","libs/algorithm/find_first_of","libs/index","libs/array/array/operator-greater_equal","libs/array/array/fill","libs/array/array/operator-less_equal","libs/algorithm/search_n","libs/array/array/operator-assign","libs/string/char_traits/compare","libs/array/array/empty","libs/array/array/cbegin","libs/string/char_traits/index","libs/algorithm/mismatch","libs/array/array/back","libs/algorithm/is_strictly_increasing","libs/array/array/swap","libs/algorithm/is_increasing","libs/string/basic_string/tuple_get","libs/string/char_traits/eq","libs/array/array/operator-equal_to","libs/algorithm/find","libs/array/array/tuple_get","libs/string/char_traits/find","libs/algorithm/all_of_equal","libs/algorithm/is_heap","libs/array/array/assign","libs/array/array/std-hash","libs/algorithm/find_end","libs/algorithm/none_of","libs/algorithm/one_of_equal","libs/algorithm/is_permutation","libs/string/index","libs/string/char_traits/move","libs/array/array/initializer-","libs/algorithm/find_if_not","libs/string/char_traits/assign","libs/array/array/c_array","libs/string/basic_string/operator-less_equal","libs/string/char_traits/to_int_type","libs/algorithm/adjacent_find","libs/algorithm/count","libs/algorithm/equal","libs/array/array/hash_value","libs/string/char_traits/not_eof"]}) \ No newline at end of file +Search.setIndex({objects:{},terms:{all:[95,66,40,51,25,68,36],math_funct:73,definit:[17,18,99,82],prefix:[5,47],follow:[22,84,9,2,72,100,3,77,16,34,57,109,116,47,115,92,49,114],find_if:[47,2,21],value_typ:18,whose:106,"const":[0,1,29,60,85,3,61,32,33,23,89,6,53,63,64,41,36,105,37,9,39,112,65,12,43,55,44,45,46,47,97,92,69,102,95,13,94,74,75,76,77,91,50,16,110,18,19,20,79,54,93,80,111,24,98,25,66,78,56,81,82,115,83,117],tuple_el:[11,104,14,67],bind2nd:[2,40,34,62,47,7,101,109],compost:73,to_string_of:104,swap:[104,15,30,87,18,67],under:38,iterator_trait:[115,34],is_strictly_decreas:[26,21],sprout_no_cxx14_initializer_list:[56,43,54],everi:[95,101,65,116,40],count_if:[34,21],fals:[0,29,5,62,7,65,91,37,39,112,45,101,102,103,74,76,50,95,19,20,80,24,40,116],is_sorted_until:[21,8,10],result2:47,result1:47,util:73,facebook:38,element_typ:[11,14],syntax:[11,58,4,14,106],min_el:[22,21],one_of_equ:[102,21],list:[103,84,73,106,54,116],to_u16str:104,iter:[84,2,60,31,23,34,62,7,92,41,36,94,95,9,39,40,8,98,114,46,101,49,102,103,61,72,73,100,77,16,52,53,109,22,65,18,57,69,81,82,115,116],initializer_list:[56,43,54],upper:[16,66],impli:[36,66],find_end:[100,21],zero:[47,89,93,83],aggreg:106,odd:34,linear:[59,1,107,94,15,30,83,12,42,98,108,44,52,117,79,35,8,87,105],compat:73,index:[89,93],compar:[22,16,9,96,52,10,83,3,31,43,5,66,56,54,47,82,79,8,36,49],neg:[83,77],brief:38,access:[103,18,116],inputiterator1:[5,47,84,72,116],inputiterator2:[5,47,84,116],version:[47,38,97,98,75],boost:38,hash:[104,44,99,17,67,117],gener:[104,73,44,99,17,67,117],satisfi:36,path:38,becom:64,modifi:[18,21],valu:[4,3,115,92,65,36,14,95,9,39,66,11,43,99,44,114,100,47,102,103,72,75,77,16,17,56,54,97,113,18,57,28,58,83,117],search:[57,36,21],convers:104,checksum:73,larger:[31,56],none_of_equ:[65,21],is_heap_until:[52,96,21],implement:[54,18,43,56],instal:38,txt:38,make_arrai:[51,68,67],pos_typ:82,range_numer:73,from:[117,2,72,17,100,25,77,99,113,44,34,57,28,115,92,109,114],would:103,pred:[103,84,2,72,40,100,77,34,57,116,62,7,101,109,114],two:[5,47,3],websit:38,program:[11,89,93,14],call:[44,87,93,117,89],type:[4,106,14,56,44,11,117,3,73,43,99,77,51,17,18,28,113,82,58,68,54],until:[52,8],sort:[21,8,10],cwchar:73,mismatch:[84,21],int_to_str:104,hold:[22,84,9,2,72,100,3,77,16,34,57,109,116,115,92,49,114],logarithm:[0,84,29,103,86,31,88,98,5,34,62,2,7,92,8,36,94,37,9,96,39,77,10,65,12,43,44,114,109,47,101,49,102,70,72,74,100,76,107,40,91,50,16,45,56,95,19,20,79,54,22,24,26,112,66,52,57,115,83,117,116],high:3,none:[101,65],can:[38,64,106],meet:[17,116,99,103],input2:[103,84,72,100,5,57,47,116],off_typ:82,input1:[103,84,2,72,100,77,5,57,47,92,109,116],give:[38,3],templat:[0,4,29,30,64,86,3,31,84,98,5,89,34,62,2,7,35,8,36,72,37,9,96,39,77,10,11,65,42,43,99,44,103,114,109,47,88,68,49,102,70,92,14,15,73,74,100,76,107,40,91,50,16,17,45,18,95,19,20,93,108,54,82,22,51,101,24,52,25,26,112,66,78,56,57,58,115,83,117,116],hash_rang:[17,117,99,44],minimum:21,stoll:104,stold:104,string:[59,1,29,104,30,89,90,64,94,35,107,110,112,12,42,98,44,48,71,14,73,50,17,105,82,20,79,108,24,27,45,113,28,58,83,118],alwai:[61,41,60,81],gcc:38,end:[84,2,103,86,31,88,5,34,62,115,92,65,7,95,9,96,39,10,8,36,114,47,101,49,102,70,87,72,100,77,16,52,78,109,22,26,40,66,18,57,69,116],find_if_not:[109,21],constinputiterator1:[82,83],constinputiterator2:[82,83],basic_str:[104,64,29,14,112,44,30,50,89,17,45,20,24,58],"void":[97,15,30,75,87,18,82,110],make_common_arrai:[68,67],max:[22,13,31,56,54,49,21],after:[41,60,69,46],variant:73,mai:3,const_iter:[23,18,41,81,69],stol:104,github:38,inttyp:104,japanes:38,correspond:[84,2,3,31,5,34,115,92,36,9,54,47,49,103,72,100,77,16,109,22,114,57,116],element:[2,60,30,31,32,33,5,89,34,6,63,92,41,36,72,9,66,11,93,85,46,47,68,49,103,61,13,14,15,16,18,106,53,109,22,23,55,51,25,111,114,69,81,115,87],caus:55,callabl:[44,93,117,89],worst:103,first:[84,2,86,31,88,23,34,62,6,7,92,8,36,95,9,96,39,10,65,43,114,109,47,101,49,102,70,61,72,63,77,16,56,53,54,22,5,111,26,40,66,52,57,81,115],string_from_c_str:104,ith:[89,93],sprout:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118],move:[42,89,105,78,82,93],becaus:[44,93,117,89],increas:[86,88],through:38,binarypred:[103,84,72,100,77,114,57,116],pointer:[111,18,98,6],equiv:47,shorter:[5,47],tristate_lexicographical_compar:[47,21],uuid:73,fix:73,decai:68,mail:38,non:[104,77,5,67,47,21],"return":[0,2,3,23,6,7,8,9,10,12,90,94,16,19,20,22,5,24,25,26,27,28,29,31,32,33,34,36,37,39,40,41,43,44,45,46,47,48,49,50,51,56,53,54,55,52,57,58,4,60,61,62,63,64,65,66,68,69,70,71,72,74,100,76,77,78,79,80,81,83,84,85,86,88,89,13,91,92,93,95,96,97,98,75,101,102,103,107,109,111,112,113,114,115,116,117,118],greater:[70,24,74,50,62,19,47,2,7,101],nonneg:[100,57],auto:[0,2,3,23,6,7,8,9,10,12,90,94,15,16,17,19,20,22,5,24,25,26,27,28,29,30,31,32,33,34,35,36,37,39,40,41,42,43,44,45,46,47,49,50,51,56,53,54,55,52,57,58,4,60,61,62,63,64,65,66,68,69,70,71,72,74,75,76,77,78,79,80,81,83,84,85,86,87,88,89,13,91,92,93,95,96,97,98,99,100,101,102,103,106,107,108,109,111,112,113,114,115,116,117,118],initi:[51,68,18,54,106],bound:[9,55,14,66,11,33,16,89,93],front:[63,18],oper:[0,29,78,104,20,91,64,37,112,99,67,73,74,76,50,17,18,19,55,21,24,45,82],from_str:104,lexicographical_compar:[5,21],revers:[53,61,60,46],separ:106,mode:38,each:[38,87,15,30,42,114,35,83,108],found:[84,2,72,100,77,98,114,57,92,36,109,94],compil:[38,73],adjacent_find:[114,21],domain:73,individu:38,"static":[90,59,1,71,94,113,107,27,42,98,48,110,105,28,118,82,79,35,83,12,108],madocchi:[1,29,30,112,50,24,105,42,20,79,35,83],logn:[0,84,29,103,86,31,88,98,5,34,62,2,7,92,8,36,94,37,9,96,39,77,10,65,12,43,44,114,109,47,101,49,102,70,72,74,100,76,107,40,91,50,16,45,56,95,19,20,79,54,22,24,26,112,66,52,57,115,83,117,116],special:[104,67],out:[55,14,11,33,89,93],all_of_equ:[95,66,21],categori:73,typenam:[0,4,29,30,64,86,3,31,84,98,5,89,34,62,2,7,35,8,36,72,37,9,96,39,77,10,11,65,42,43,99,44,103,114,109,47,88,68,49,102,70,92,14,15,74,100,76,107,40,91,50,16,17,45,18,95,19,20,93,108,54,82,22,51,101,24,52,25,26,112,66,78,56,57,58,115,83,117,116],inputiter:[95,101,2,39,40,34,62,7,92,65,115,109,102],integr:[58,4,77],log2:[16,9,36,66],forwarditerator2:[100,57,72,103],forwarditerator1:[100,57,103],standard:73,base:[38,93,89],org:38,upper_bound:[16,66,21],length:[82,12,64,107,73],string_to_float:104,one_of:[62,21],homuhomu:[59,1,29,30,89,35,107,112,12,42,98,44,94,50,17,105,20,79,108,24,45,83],assign:[59,110,97,42,18,82,35,108],tuple_s:[58,4,104,67],origin:[28,113],softwar:38,rang:[84,2,31,5,34,62,115,92,65,7,95,9,39,40,8,42,36,47,101,49,102,103,72,100,77,16,52,109,22,66,114,57,116],declval:[18,87],arrai:[0,4,2,52,30,86,3,31,32,70,33,23,34,62,99,6,7,92,8,63,60,37,9,96,39,106,10,11,41,85,43,84,36,103,114,109,102,46,47,97,88,68,49,100,67,61,13,72,15,73,74,75,76,65,77,91,80,16,18,95,19,53,93,54,22,5,101,55,51,25,111,26,40,66,78,56,57,69,81,115,87,117,116],number:[38,13,3,32,5,34,47,115,64],cinttyp:73,smaller:[31,43,54],max_el:[49,21],lexicograph:[0,24,112,74,76,50,5,19,47,29,21],size:[80,4,77,13,56,73,32,43,51,18,58,68,54],given:[103,84,116],rightmost:54,data:[111,18,6,73],licens:38,cstring:73,capac:18,construct:18,conveni:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,68,69,70,71,72,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,105,106,107,108,109,110,111,112,113,114,115,116,117,118],store:[64,73],to_hash:[44,117],darkroom:73,namespac:[0,1,2,3,4,5,6,7,8,9,10,11,12,90,14,15,16,17,19,20,22,23,24,26,27,28,29,30,31,32,33,34,35,36,37,39,40,41,42,43,44,45,46,47,48,49,50,56,53,54,55,52,57,58,59,60,61,62,63,64,65,66,69,70,71,72,74,75,76,77,78,79,80,81,83,84,85,86,87,88,89,13,91,92,93,94,95,96,97,98,99,100,101,102,103,105,106,107,108,109,110,111,112,113,114,115,116,117,118],copi:[38,1,56,25,42,43,105,18,78,82,35,54],specifi:[55,43,33,51,56,54],pars:[38,73],c_arrai:[111,18],first1:[103,84,72,100,5,57,47,116],first2:[103,84,72,100,5,57,47,116],exactli:[22,103,3,34,49,115,54,114],state_typ:82,than:[0,29,5,62,2,7,112,54,47,101,74,76,77,50,19,79,109,24,27,40,57,83],std:[0,59,1,29,104,30,78,4,33,89,34,90,115,35,93,91,105,94,37,64,107,110,112,11,12,42,43,99,44,45,67,98,48,87,71,14,15,74,75,76,50,17,18,19,20,79,108,54,82,24,25,27,97,113,56,28,58,83,117,118],to_int_typ:[82,28,113],second:[84,31,54,66],structur:73,charact:[82,104],project:38,posit:[84,2,60,31,33,89,92,41,94,9,66,8,98,46,69,72,100,77,16,52,93,109,22,55,114,57,49,83],to_wstr:104,pre:[1,35],rend:[18,46],argument:[103,84,64,43,51,56,68,54,116],int_typ:[71,113,28,82,48,118],rai:[38,73],have:[5,47],need:51,predic:[84,2,31,34,62,7,92,65,115,95,39,40,54,101,102,103,72,100,77,109,114,57,116],constexprrandomaccessiter:18,option:73,built:25,equival:[59,1,5,89,90,91,93,37,110,45,12,43,99,44,47,48,71,94,17,56,20,79,54,27,113,105,28,117,118],min:[22,84,31,43,5,114,54,47,116,49,21],greater_equ:26,destroi:18,note:[44,18,93,117,89],also:[36,66],without:[75,97],which:[38,84,2,52,34,115,92,8,109,114],equal_rang:[66,21],const_refer:[55,85,75,97,33,18,63],sprout_noexcept:[90,60,61,32,23,89,6,71,93,41,46,48,69,13,111,18,53,80,27,113,28,81,82,118],even:42,begin:[84,2,97,103,86,31,88,23,34,62,7,35,8,36,95,9,96,39,10,65,42,98,114,100,47,101,49,102,70,87,92,72,75,77,16,52,78,107,108,109,22,5,26,40,66,18,57,115,83,116],unless:[87,15,30],distribut:38,trace:[38,73],shall:[16,9,77,54,66],buffer:[64,73],object:[51,73,68,25],size_typ:[55,18,13,32,33],pair:[84,66,31,5,47,54],crbegin:[61,18],madohomu:64,"class":[104,73,99,17,18,67],slideshar:38,accompani:38,binary_search:[36,21],random:[38,103,116,73],rbegin:[53,18],all_of:[40,21],find:[72,100,77,98,57,82,92,94,21],onli:[38,18,62,102],explicitli:51,copyright:38,swap_rang:87,get:[89,93],lower_bound:[66,9,21],make_str:104,express:[4,9,94,66,12,16,58,79,36],clang:38,range_adaptor:73,stoi:104,stod:104,none_of:[101,21],stof:104,is_sort:[70,10,86,88,26,21],requir:[103,89,9,14,66,11,3,43,99,77,16,17,56,93,36,54,116],synthes:[38,73],yield:[5,47],common:68,partit:[16,9,36,66],contain:[84,2,103,86,31,32,5,34,62,6,7,92,8,36,37,38,9,96,39,10,65,45,47,101,49,102,70,13,72,73,95,100,77,91,88,16,52,20,109,22,111,26,40,66,114,57,115,116],comma:106,where:[103,42,31,89,114,106,93,54],valid:[44,93,117,89],wiki:38,arr:25,set:72,cstdio:48,minmax:[54,21],see:38,result:[84,2,103,86,3,31,88,98,5,34,62,90,7,64,8,36,94,95,9,96,39,10,65,12,43,114,109,47,92,101,49,102,70,71,72,100,77,16,56,107,79,54,22,26,27,40,113,66,52,57,28,115,116,83,118],arg:[51,68],hash_valu:[44,104,117,67],any_of_equ:[39,21],modulu:34,correctli:42,eq_int_typ:[82,71,28,113],less_equ:86,smallest:[107,43,54,98],neither:[5,47],paramet:51,numer:[104,73],comp:[22,16,9,96,52,10,3,31,43,5,66,56,54,47,8,36,49],crend:[18,60],typedef:[82,18],cbegin:[18,41,81],constexpr:[38,56,43,54],type_trait:[11,14,73],preprocessor:73,randomaccessiter:[52,96],struct:[4,14,11,99,17,58,82],both:114,metaprogram:73,last:[2,60,85,86,31,88,34,62,115,92,65,7,95,9,96,39,10,8,36,46,101,49,102,70,100,77,16,52,109,22,26,40,66,114,69,41],delimit:47,ill:[11,89,93,14],equal:[103,90,91,92,65,115,37,39,112,45,102,95,71,72,74,100,76,77,50,20,21,66,113,114,57,28,116],range_algorithm:73,char_trait:[59,1,71,35,107,110,12,42,98,48,90,94,105,79,108,104,27,113,28,82,83,118],bitset:73,static_s:18,stoumax:104,point:[38,3],header:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118],permut:103,is_permut:[103,21],respect:[16,9,36,66],minmax_el:[31,21],difference_typ:[115,18,34],stretch:104,empti:[80,95,39,40,100,31,5,18,57,102,47,62,7,101,65,72],unexpect:3,cend:18,remark:[51,84,68,55,103,3,43,98,5,56,106,47,64,54,116],ani:[22,16,9,39,100,77,5,57,47,7,49],assert:[59,1,97,15,30,75,42,105,35,87,108,110],sprout_noexcept_expr:[18,87,15,30],tuple_get:[89,93,104,67],"case":[75,97],u32str:104,ident:3,defin:[89,43,5,44,18,56,117,47,93,54],sprout_constexpr:[0,2,3,23,6,7,8,9,10,12,90,94,16,18,19,20,22,5,24,25,26,27,28,29,31,32,33,34,36,37,39,40,41,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,60,61,62,63,64,65,66,68,69,70,71,72,74,100,76,77,79,80,81,82,83,84,85,86,88,89,13,91,92,93,95,96,97,98,75,101,102,103,107,109,111,112,113,114,115,116,117,118],behavior:55,furthermost:[16,9],exist:103,invoc:[0,2,23,6,7,8,9,10,12,90,94,16,19,20,22,5,24,25,26,27,28,29,31,32,33,34,36,37,39,40,41,43,44,45,46,47,48,49,50,51,56,53,54,55,52,57,60,61,62,63,64,65,66,68,69,70,71,72,74,100,76,77,79,80,81,83,84,85,86,88,89,13,91,92,93,95,96,97,98,75,101,102,103,106,107,109,111,112,113,114,115,116,117,118],bolero:38,cctype:73,floattyp:104,sever:[56,43,54],welcom:38,author:38,perform:[35,42,108],alphabet:73,murakami:38,same:[70,25,26,88,5,89,86,47,93],member:[104,99,17,18,67,82],binari:[36,21],complex:[0,1,2,3,23,6,7,8,9,10,12,90,94,15,16,19,20,22,5,24,25,26,27,28,29,30,31,32,33,34,35,36,37,39,40,41,42,43,44,45,46,47,48,49,50,51,56,53,54,55,52,57,59,60,61,62,63,64,65,66,68,69,70,71,72,73,74,75,76,77,79,80,81,83,84,85,86,87,88,89,13,91,92,93,95,96,97,98,100,101,102,103,105,106,107,108,109,110,111,112,113,114,115,116,117,118],largest:[64,56,54],document:38,http:38,effect:[59,1,72,15,30,75,42,77,100,105,57,78,97,35,87,108,110],weed:73,stoul:104,lower:[9,66],elem:18,is_heap:[96,21],exampl:[0,1,2,3,4,5,6,7,8,9,10,11,12,90,14,15,16,17,19,20,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,39,40,41,42,43,44,45,46,47,48,49,50,51,56,53,54,55,52,57,58,59,60,61,62,63,64,65,66,68,69,70,71,72,74,75,76,77,78,79,80,81,83,84,85,86,87,88,89,13,91,92,93,94,95,96,97,98,99,100,101,102,103,105,106,107,108,109,110,111,112,113,114,115,116,117,118],thi:[38,43,98,51,56,78,54],undefin:55,sprout_static_constexpr:[0,1,2,3,23,6,7,8,9,10,12,90,94,16,17,18,19,20,22,5,24,25,26,27,28,29,31,32,33,34,35,36,37,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,4,60,61,62,63,64,65,66,68,69,70,71,72,74,75,76,77,79,80,81,83,84,85,86,88,89,13,91,92,93,95,96,97,98,99,100,101,102,103,105,106,107,109,110,111,112,113,114,115,116,117,118],bit_oper:73,distanc:[103,94,31,98,52,8],less:[0,29,40,27,112,77,88,5,57,47,79,83,76,109],nan:3,license_1_0:38,float_to_str:104,is_strictly_increas:[86,21],float_to_string_exp:104,static_assert:[0,2,3,23,6,7,8,9,10,11,12,90,14,16,17,19,20,22,5,24,25,26,27,28,29,31,32,33,34,36,37,39,40,41,43,44,45,46,47,48,49,50,51,56,53,54,55,52,57,58,4,60,61,62,63,64,65,66,68,69,70,71,72,74,75,76,77,79,80,81,83,84,85,86,88,89,13,91,92,93,94,95,96,97,98,99,100,101,102,103,107,109,111,112,113,114,115,116,117,118],miscellan:73,size_t:[0,59,1,29,30,4,89,91,35,93,94,37,64,107,112,11,12,42,98,99,44,14,15,74,76,50,17,18,19,20,79,108,82,24,25,45,105,58,83,117],except:[87,15,30],blog:38,exposit:18,input:[2,60,85,86,3,31,32,33,23,89,34,62,6,7,92,8,36,95,9,96,39,40,41,43,99,44,114,109,46,101,49,102,70,61,13,88,63,80,16,17,56,106,53,93,54,22,111,55,65,26,10,66,52,69,81,115,117],adl:[44,93,117,89],subsequ:[100,57,77],match:72,applic:[84,2,31,5,34,62,7,92,65,115,95,39,40,109,47,101,49,102,103,72,100,77,54,22,114,57,116],wstring:104,is_increas:[88,21],recurs:[0,2,23,6,7,8,9,10,12,90,94,16,19,20,22,5,24,25,26,27,28,29,31,32,33,34,36,37,39,40,41,43,44,45,46,47,48,49,50,51,56,53,54,55,52,57,60,61,62,63,64,65,66,68,69,70,71,72,74,100,76,77,79,80,81,83,84,85,86,88,89,13,91,92,93,95,96,97,98,75,101,102,103,106,107,109,111,112,113,114,115,116,117,118],insert:104,like:73,specif:73,integ:[82,57,77,100],noth:[87,15,30],char_typ:[59,1,90,94,27,107,98,108,105,28,82,79,113,83,12,110],page:38,www:38,homu:64,twitter:38,linux:38,some:[83,72],back:[111,18,6,85],last1:[103,84,72,100,5,57,47,116],last2:[103,84,72,100,5,57,47,116],sizeof:[51,68],make_pair:[31,66],librari:[38,73],not_eof:[82,118],common_decai:68,overlap:42,mathemat:73,const_point:[111,18,6],nonempti:114,condit:[22,84,9,2,72,100,3,77,16,1,34,109,116,57,115,35,92,36,49,114],leftmost:[56,43,54],content:[37,0,29,112,74,38,76,19,50,45,20,24,91],refer:[55,85,31,33,89,18,63,93],ration:73,stoimax:104,index_tupl:73,repositori:38,lessthancompar:[3,56,43,54],sprout_assert_msg:[59,1,97,15,30,75,42,105,35,87,108,110],"throw":[33,87,15,30],comparison:[0,29,3,5,104,91,36,37,9,112,45,67,47,49,74,76,50,16,19,20,54,21,22,24,66],most:[84,2,31,5,62,7,92,65,36,95,9,39,40,109,47,101,102,72,100,77,16,54,66,57,116],delim1:47,delim2:47,find_first_of:[72,21],includ:[0,1,2,3,4,5,6,7,8,9,10,11,12,90,14,15,16,17,19,20,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,39,40,41,42,43,44,45,46,47,48,49,50,51,56,53,54,55,52,57,58,59,60,61,62,63,64,65,66,68,69,70,71,72,74,75,76,77,78,79,80,81,83,84,85,86,87,88,89,13,91,92,93,94,95,96,97,98,99,100,101,102,103,105,106,107,108,109,110,111,112,113,114,115,116,117,118],ptrdiff_t:18,string_to_int:104,search_n:[77,21],any_of:[7,21],clamp:[3,21],"float":3,fill_n:[75,97],forwarditer:[22,70,9,10,26,31,77,88,16,66,114,86,8,36,49],cstdlib:73,u16str:104,fill:[75,59,18,108,97],support:[38,104,73,43,56,67,54],transform:47,out_of_rang:33,start:38,compliant:73,interfac:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,107,108,109,110,111,112,113,114,115,116,117,118],low:3,strictli:[26,86],const_reverse_iter:[61,53,18,60,46],"function":[0,2,23,6,7,8,9,10,12,90,94,16,17,18,19,20,21,22,5,24,25,26,27,28,29,31,32,33,34,36,37,39,40,41,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,79,80,81,82,83,84,85,86,88,89,13,91,92,93,95,96,97,98,99,100,101,102,103,104,106,107,109,111,112,113,114,115,116,117,118],form:[11,89,93,14],tupl:[4,104,14,73,11,89,67,58,93,117],is_sam:[11,14],link:38,heap:[52,96,21],inlin:[0,84,29,30,86,3,31,88,5,89,34,62,2,7,64,8,36,37,9,96,39,77,10,65,43,44,103,114,109,47,68,49,102,70,92,72,15,74,100,76,40,91,50,16,45,56,95,19,20,93,54,22,51,101,24,25,26,112,66,52,57,115,117,116],"true":[0,29,103,5,62,91,65,7,37,107,39,112,98,36,45,101,102,95,74,76,50,19,20,80,24,40,83,116],longer:[5,47],count:[115,34,77,21],concaten:[64,104],wise:87,mado:64,maximum:21,is_decreas:[70,21],below:[103,84,116],extractor:104,to_char_typ:[82,28,113],otherwis:[0,29,103,3,31,5,62,7,65,91,37,39,112,8,98,45,47,101,102,95,74,76,50,52,19,20,54,80,24,40,57,83,116],constant:[90,4,60,85,61,32,33,23,89,6,71,63,64,41,110,97,93,12,46,68,48,69,13,94,75,51,18,106,53,79,80,111,55,25,27,113,28,81,58,118],sub_arrai:73,"int":[0,4,2,60,85,86,3,31,32,33,23,34,62,99,6,71,7,92,8,63,37,9,96,39,106,10,11,41,43,84,36,103,114,109,102,46,47,97,88,101,49,100,69,70,61,13,72,15,74,75,76,65,77,91,80,16,56,95,19,53,79,54,93,22,5,55,51,25,111,26,40,113,66,78,52,57,28,81,82,115,87,83,117,116],to_arrai:[67,25],matafunct:[104,67],"char":[59,1,71,35,94,107,110,12,42,98,48,90,14,105,79,108,27,113,28,82,83,118],decreas:[26,70],file:38,adjac:114,pit:73,constinputiter:[107,42,98,82,35,83],denot:[103,84,116],copyconstruct:[56,43,54],floor:31,hpp:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118],when:[56,43,54,98],other:[5,38,47,114],bool:[0,29,103,86,88,5,62,90,7,65,36,37,96,39,10,45,101,102,70,71,74,76,40,91,50,18,95,19,20,80,24,26,27,112,82,116],trait:[104,64,29,14,112,44,30,50,89,17,45,20,24,58],shrink:104,sequenc:[73,100,77,5,57,47,21],stoull:104,max_siz:[18,13],outputiter:[82,35,42,108],to_u32str:104,concat:64,eof:[82,48,118],algorithm:[84,2,103,86,3,31,88,5,34,62,7,92,8,36,95,38,9,96,39,10,65,43,114,109,67,47,101,49,102,70,72,73,100,77,16,56,54,21,22,104,26,40,66,52,57,115,116],reverse_iter:[53,18,46],directori:38,descript:[38,104,99,17,18,67,82],to_str:104,depth:[0,2,23,6,7,8,9,10,12,90,94,16,19,20,22,5,24,25,26,27,28,29,31,32,33,34,36,37,39,40,41,43,44,45,46,47,48,49,50,51,56,53,54,55,52,57,60,61,62,63,64,65,66,68,69,70,71,72,74,100,76,77,79,80,81,83,84,85,86,88,89,13,91,92,93,95,96,97,98,75,101,102,103,106,107,109,111,112,113,114,115,116,117,118],time:73,convert:[18,113,28,106,77]},objtypes:{},titles:["operator<","copy","find_if","clamp","std::tuple_size","lexicographical_compare","back","any_of","is_sorted_until","lower_bound","is_sorted","std::tuple_element","length","max_size","std::tuple_element","swap","upper_bound","std::hash","array","operator>","operator!=","Sprout.Algorithm","min_element","begin","operator>","to_array","is_strictly_decreasing","lt","to_char_type","operator<","swap","minmax_element","size","at","count_if","copy","binary_search","operator!=","Sprout C++ Libraries","any_of_equal","all_of","cbegin","move","min","hash_value","operator==","rend","tristate_lexicographical_compare","eof","max_element","operator>=","make_array","is_heap_until","rbegin","minmax","operator[]","max","search","std::tuple_size","assign","crend","crbegin","one_of","front","operator+","none_of_equal","equal_range","Sprout.Array","make_common_array","end","is_decreasing","eq_int_type","find_first_of","Libraries","operator>=","fill","operator<=","search_n","operator=","compare","empty","cbegin","char_traits","compare","mismatch","back","is_strictly_increasing","swap","is_increasing","tuple_get","eq","operator==","find","tuple_get","find","all_of_equal","is_heap","assign","find","std::hash","find_end","none_of","one_of_equal","is_permutation","Sprout.String","move","(initializer)","length","assign","find_if_not","assign","back","operator<=","to_int_type","adjacent_find","count","equal","hash_value","not_eof"],objnames:{},filenames:["libs/array/array/operator-less","libs/string/char_traits/copy","libs/algorithm/find_if","libs/algorithm/clamp","libs/array/array/std-tuple_size","libs/algorithm/lexicographical_compare","libs/array/array/data","libs/algorithm/any_of","libs/algorithm/is_sorted_until","libs/algorithm/lower_bound","libs/algorithm/is_sorted","libs/array/array/std-tuple_element","libs/string/char_traits/length","libs/array/array/max_size","libs/string/basic_string/std-tuple_element","libs/array/array/swap-global","libs/algorithm/upper_bound","libs/string/basic_string/std-hash","libs/array/array/index","libs/array/array/operator-greater","libs/string/basic_string/operator-not_equal_to","libs/algorithm/index","libs/algorithm/min_element","libs/array/array/begin","libs/string/basic_string/operator-greater","libs/array/to_array","libs/algorithm/is_strictly_decreasing","libs/string/char_traits/lt","libs/string/char_traits/to_char_type","libs/string/basic_string/operator-less","libs/string/basic_string/swap-global","libs/algorithm/minmax_element","libs/array/array/size","libs/array/array/at","libs/algorithm/count_if","libs/string/char_traits/copy-iterator","libs/algorithm/binary_search","libs/array/array/operator-not_equal_to","index","libs/algorithm/any_of_equal","libs/algorithm/all_of","libs/array/array/cend","libs/string/char_traits/move-iterator","libs/algorithm/min","libs/string/basic_string/hash_value","libs/string/basic_string/operator-equal_to","libs/array/array/rend","libs/algorithm/tristate_lexicographical_compare","libs/string/char_traits/eof","libs/algorithm/max_element","libs/string/basic_string/operator-greater_equal","libs/array/make_array","libs/algorithm/is_heap_until","libs/array/array/rbegin","libs/algorithm/minmax","libs/array/array/operator-subscript","libs/algorithm/max","libs/algorithm/search","libs/string/basic_string/std-tuple_size","libs/string/char_traits/assign-string","libs/array/array/crend","libs/array/array/crbegin","libs/algorithm/one_of","libs/array/array/front","libs/string/basic_string/operator-plus","libs/algorithm/none_of_equal","libs/algorithm/equal_range","libs/array/index","libs/array/make_common_array","libs/array/array/end","libs/algorithm/is_decreasing","libs/string/char_traits/eq_int_type","libs/algorithm/find_first_of","libs/index","libs/array/array/operator-greater_equal","libs/array/array/fill","libs/array/array/operator-less_equal","libs/algorithm/search_n","libs/array/array/operator-assign","libs/string/char_traits/compare","libs/array/array/empty","libs/array/array/cbegin","libs/string/char_traits/index","libs/string/char_traits/compare-iterator","libs/algorithm/mismatch","libs/array/array/back","libs/algorithm/is_strictly_increasing","libs/array/array/swap","libs/algorithm/is_increasing","libs/string/basic_string/tuple_get","libs/string/char_traits/eq","libs/array/array/operator-equal_to","libs/algorithm/find","libs/array/array/tuple_get","libs/string/char_traits/find","libs/algorithm/all_of_equal","libs/algorithm/is_heap","libs/array/array/assign","libs/string/char_traits/find-iterator","libs/array/array/std-hash","libs/algorithm/find_end","libs/algorithm/none_of","libs/algorithm/one_of_equal","libs/algorithm/is_permutation","libs/string/index","libs/string/char_traits/move","libs/array/array/initializer-","libs/string/char_traits/length-iterator","libs/string/char_traits/assign-iterator","libs/algorithm/find_if_not","libs/string/char_traits/assign","libs/array/array/c_array","libs/string/basic_string/operator-less_equal","libs/string/char_traits/to_int_type","libs/algorithm/adjacent_find","libs/algorithm/count","libs/algorithm/equal","libs/array/array/hash_value","libs/string/char_traits/not_eof"]}) \ No newline at end of file diff --git a/source/libs/string/char_traits/assign-iterator.rst b/source/libs/string/char_traits/assign-iterator.rst new file mode 100644 index 00000000..0d09e506 --- /dev/null +++ b/source/libs/string/char_traits/assign-iterator.rst @@ -0,0 +1,40 @@ +.. _sprout-string-char_traits-assign-iterator: +############################################################################### +assign +############################################################################### + +Interface +======================================== +.. sourcecode:: c++ + + template + static OutputIterator assign(OutputIterator s, std::size_t n, char_type a); + +Effects +======================================== + +| For each i in [0,n) performs ``assign(s[i], c)``. + +Examples +======================================== +.. sourcecode:: c++ + + #include + #include + using namespace sprout; + + auto x = string<8>("homuhomu");; + char_traits::assign(x.begin(), 8, 'M'); + SPROUT_ASSERT_MSG(x[0] == 'M', "x is filled by M."); + +Complexity +======================================== + +| linear. + +Header +======================================== + +| ``sprout/string/char_traits.hpp`` +| Convenience header: ``sprout/string.hpp`` + diff --git a/source/libs/string/char_traits/compare-iterator.rst b/source/libs/string/char_traits/compare-iterator.rst new file mode 100644 index 00000000..ee22dabd --- /dev/null +++ b/source/libs/string/char_traits/compare-iterator.rst @@ -0,0 +1,49 @@ +.. _sprout-string-char_traits-compare-iterator: +############################################################################### +compare +############################################################################### + +Interface +======================================== +.. sourcecode:: c++ + + template + static SPROUT_CONSTEXPR int compare(char_type const* s1, ConstInputIterator s2, std::size_t n); + + template + static SPROUT_CONSTEXPR int compare(ConstInputIterator s1, char_type const* s2, std::size_t n); + + template + static SPROUT_CONSTEXPR int compare(ConstInputIterator1 s1, ConstInputIterator2 s2, std::size_t n); + +Returns +======================================== + +| If for each i in [0,n), ``eq(s1[i], s2[i])`` is true, return zero. +| Otherwise, if for some j in [0,n), ``lt(s1[j], s2[j])`` is true and for each i in [0,j) ``eq(s1[i], s2[i])`` is true, return a negative value. +| Otherwise, return a positive value. + +Examples +======================================== +.. sourcecode:: c++ + + #include + using namespace sprout; + + SPROUT_STATIC_CONSTEXPR auto x = string<8>("homuhomu"); + SPROUT_STATIC_CONSTEXPR auto y = string<8>("madocchi"); + SPROUT_STATIC_CONSTEXPR auto result = char_traits::compare(x.begin(), y.begin(), 8); + static_assert(result < 0, "x is less than y."); + +Complexity +======================================== + +| linear. +| Recursive function invocations in *O(logN)* (logarithmic) depth. + +Header +======================================== + +| ``sprout/string/char_traits.hpp`` +| Convenience header: ``sprout/string.hpp`` + diff --git a/source/libs/string/char_traits/copy-iterator.rst b/source/libs/string/char_traits/copy-iterator.rst new file mode 100644 index 00000000..05255790 --- /dev/null +++ b/source/libs/string/char_traits/copy-iterator.rst @@ -0,0 +1,46 @@ +.. _sprout-string-char_traits-copy-iterator: +############################################################################### +copy +############################################################################### + +Interface +======================================== +.. sourcecode:: c++ + + template + static OutputIterator copy(OutputIterator s1, ConstInputIterator s2, std::size_t n); + +Pre-condition +======================================== + +| s2 not in [s1,s1+n). + +Effects +======================================== + +| For each i in [0,n) performs ``assign(s1[i], s2[i])``. + +Examples +======================================== +.. sourcecode:: c++ + + #include + #include + using namespace sprout; + + auto x = string<8>("homuhomu");; + SPROUT_STATIC_CONSTEXPR auto y = string<8>("madocchi"); + char_traits::copy(x.begin(), y.begin(), 8); + SPROUT_ASSERT_MSG(x[0] == y[0], "y is copied to x."); + +Complexity +======================================== + +| linear. + +Header +======================================== + +| ``sprout/string/char_traits.hpp`` +| Convenience header: ``sprout/string.hpp`` + diff --git a/source/libs/string/char_traits/copy.rst b/source/libs/string/char_traits/copy.rst index eb40b8d7..801a4342 100644 --- a/source/libs/string/char_traits/copy.rst +++ b/source/libs/string/char_traits/copy.rst @@ -9,6 +9,11 @@ Interface static char_type* copy(char_type* s1, char_type const* s2, std::size_t n); +Pre-condition +======================================== + +| s2 not in [s1,s1+n). + Effects ======================================== diff --git a/source/libs/string/char_traits/eof.rst b/source/libs/string/char_traits/eof.rst index 477eecb0..a48cf570 100644 --- a/source/libs/string/char_traits/eof.rst +++ b/source/libs/string/char_traits/eof.rst @@ -9,7 +9,7 @@ Interface static SPROUT_CONSTEXPR int_type eof() SPROUT_NOEXCEPT; -Effects +Returns ======================================== | Equivalent to ``std::char_traits::eof()``. diff --git a/source/libs/string/char_traits/eq.rst b/source/libs/string/char_traits/eq.rst index 4d065ab0..267e906e 100644 --- a/source/libs/string/char_traits/eq.rst +++ b/source/libs/string/char_traits/eq.rst @@ -9,7 +9,7 @@ Interface static SPROUT_CONSTEXPR bool eq(char_type c1, char_type c2) SPROUT_NOEXCEPT; -Effects +Returns ======================================== | Equivalent to ``std::char_traits::eq(c1, c2)``. diff --git a/source/libs/string/char_traits/eq_int_type.rst b/source/libs/string/char_traits/eq_int_type.rst index db4295cb..34720315 100644 --- a/source/libs/string/char_traits/eq_int_type.rst +++ b/source/libs/string/char_traits/eq_int_type.rst @@ -9,7 +9,7 @@ Interface static SPROUT_CONSTEXPR bool eq_int_type(int_type c1, int_type c2) SPROUT_NOEXCEPT; -Effects +Returns ======================================== | Equivalent to ``std::char_traits::eq_int_type(c1, c2)``. diff --git a/source/libs/string/char_traits/find-iterator.rst b/source/libs/string/char_traits/find-iterator.rst new file mode 100644 index 00000000..ceee3fb7 --- /dev/null +++ b/source/libs/string/char_traits/find-iterator.rst @@ -0,0 +1,46 @@ +.. _sprout-string-char_traits-find-iterator: +############################################################################### +find +############################################################################### + +Interface +======================================== +.. sourcecode:: c++ + + template + static SPROUT_CONSTEXPR ConstInputIterator find(ConstInputIterator s, std::size_t n, char_type const& a); + +Returns +======================================== + +| The smallest q in [s,s+n) such that ``eq(*q, a)`` is true, ``s + n`` otherwise. + +Remarks +======================================== + +| Pointer version returns 0 when it not found, but this function returns ``s + n``. + +Examples +======================================== +.. sourcecode:: c++ + + #include + #include + using namespace sprout; + + SPROUT_STATIC_CONSTEXPR auto x = string<8>("homuhomu"); + SPROUT_STATIC_CONSTEXPR auto result = char_traits::find(x.begin(), 8, 'm'); + static_assert(sprout::distance(x, result) == 2, "a found position is 2."); + +Complexity +======================================== + +| linear. +| Recursive function invocations in *O(logN)* (logarithmic) depth. + +Header +======================================== + +| ``sprout/string/char_traits.hpp`` +| Convenience header: ``sprout/string.hpp`` + diff --git a/source/libs/string/char_traits/index.rst b/source/libs/string/char_traits/index.rst index ccfbf3ec..fea27220 100644 --- a/source/libs/string/char_traits/index.rst +++ b/source/libs/string/char_traits/index.rst @@ -20,6 +20,12 @@ char_traits to_int_type eq_int_type eof + compare-iterator + length-iterator + find-iterator + move-iterator + copy-iterator + assign-iterator Interface ======================================== @@ -59,8 +65,8 @@ Interface static SPROUT_CONSTEXPR int compare(char_type const* s1, ConstInputIterator s2, std::size_t n); template static SPROUT_CONSTEXPR int compare(ConstInputIterator s1, char_type const* s2, std::size_t n); - template - static SPROUT_CONSTEXPR int compare(ConstIterator1 s1, ConstIterator2 s2, std::size_t n); + template + static SPROUT_CONSTEXPR int compare(ConstInputIterator1 s1, ConstInputIterator2 s2, std::size_t n); template static SPROUT_CONSTEXPR std::size_t length(ConstInputIterator s); template @@ -137,7 +143,7 @@ string operations (for iterator) function ======================================== =============================================================================== :doc:`compare <./compare-iterator>` -:doc:`eqlength<./length-iterator>` +:doc:`length<./length-iterator>` :doc:`find <./find-iterator>` :doc:`move <./move-iterator>` :doc:`copy <./copy-iterator>` diff --git a/source/libs/string/char_traits/length-iterator.rst b/source/libs/string/char_traits/length-iterator.rst new file mode 100644 index 00000000..48a8bb43 --- /dev/null +++ b/source/libs/string/char_traits/length-iterator.rst @@ -0,0 +1,40 @@ +.. _sprout-string-char_traits-length-iterator: +############################################################################### +length +############################################################################### + +Interface +======================================== +.. sourcecode:: c++ + + template + static SPROUT_CONSTEXPR std::size_t length(ConstInputIterator s); + +Returns +======================================== + +| The smallest i such that ``eq(s[i], char_type())`` is true. + +Examples +======================================== +.. sourcecode:: c++ + + #include + using namespace sprout; + + SPROUT_STATIC_CONSTEXPR auto x = string<8>("homuhomu"); + SPROUT_STATIC_CONSTEXPR auto result = char_traits::length(x.begin()); + static_assert(result == 8, "length of x is 8."); + +Complexity +======================================== + +| linear. +| Recursive function invocations in *O(logN)* (logarithmic) depth. + +Header +======================================== + +| ``sprout/string/char_traits.hpp`` +| Convenience header: ``sprout/string.hpp`` + diff --git a/source/libs/string/char_traits/lt.rst b/source/libs/string/char_traits/lt.rst index a97b1c13..dc63ecde 100644 --- a/source/libs/string/char_traits/lt.rst +++ b/source/libs/string/char_traits/lt.rst @@ -9,7 +9,7 @@ Interface static SPROUT_CONSTEXPR bool lt(char_type c1, char_type c2) SPROUT_NOEXCEPT; -Effects +Returns ======================================== | Equivalent to ``std::char_traits::lt(c1, c2)``. diff --git a/source/libs/string/char_traits/move-iterator.rst b/source/libs/string/char_traits/move-iterator.rst new file mode 100644 index 00000000..1f9c0545 --- /dev/null +++ b/source/libs/string/char_traits/move-iterator.rst @@ -0,0 +1,42 @@ +.. _sprout-string-char_traits-move-iterator: +############################################################################### +move +############################################################################### + +Interface +======================================== +.. sourcecode:: c++ + + template + static OutputIterator move(OutputIterator s1, ConstInputIterator s2, std::size_t n); + +Effects +======================================== + +| For each i in [0,n) performs ``assign(s1[i], p2[i])``. +| Copies correctly even where the ranges [s2,s2+n) and [s1,s1+n) overlap. + +Examples +======================================== +.. sourcecode:: c++ + + #include + #include + using namespace sprout; + + auto x = string<8>("homuhomu");; + SPROUT_STATIC_CONSTEXPR auto y = string<8>("madocchi"); + char_traits::move(x.begin(), y.begin(), 8); + SPROUT_ASSERT_MSG(x[0] == y[0], "y is copied to x."); + +Complexity +======================================== + +| linear. + +Header +======================================== + +| ``sprout/string/char_traits.hpp`` +| Convenience header: ``sprout/string.hpp`` + diff --git a/source/libs/string/char_traits/not_eof.rst b/source/libs/string/char_traits/not_eof.rst index b0ff2979..1d13d367 100644 --- a/source/libs/string/char_traits/not_eof.rst +++ b/source/libs/string/char_traits/not_eof.rst @@ -9,7 +9,7 @@ Interface static SPROUT_CONSTEXPR int_type not_eof(int_type c) SPROUT_NOEXCEPT; -Effects +Returns ======================================== | Equivalent to ``std::char_traits::not_eof(c)``. diff --git a/source/libs/string/char_traits/to_char_type.rst b/source/libs/string/char_traits/to_char_type.rst index fbd07a16..8cbcbebf 100644 --- a/source/libs/string/char_traits/to_char_type.rst +++ b/source/libs/string/char_traits/to_char_type.rst @@ -9,7 +9,7 @@ Interface static SPROUT_CONSTEXPR char_type to_char_type(int_type c) SPROUT_NOEXCEPT; -Effects +Returns ======================================== | Equivalent to ``std::char_traits::to_char_type(c)``. diff --git a/source/libs/string/char_traits/to_int_type.rst b/source/libs/string/char_traits/to_int_type.rst index 4fdb0a36..d28e20a6 100644 --- a/source/libs/string/char_traits/to_int_type.rst +++ b/source/libs/string/char_traits/to_int_type.rst @@ -9,7 +9,7 @@ Interface static SPROUT_CONSTEXPR int_type to_int_type(char_type c) SPROUT_NOEXCEPT; -Effects +Returns ======================================== | Equivalent to ``std::char_traits::to_int_type(c)``.