diff --git a/docs/_sources/libs/string/basic_string/hash_value.txt b/docs/_sources/libs/string/basic_string/hash_value.txt new file mode 100644 index 00000000..3a97578e --- /dev/null +++ b/docs/_sources/libs/string/basic_string/hash_value.txt @@ -0,0 +1,47 @@ +.. _sprout-string-basic_string-hash_value: +############################################################################### +hash_value +############################################################################### + +Interface +======================================== +.. sourcecode:: c++ + + template + inline SPROUT_CONSTEXPR std::size_t + hash_value(sprout::basic_string const& v); + +Returns +======================================== + +| Equivalent to ``sprout::hash_range(v)``. + +Notes +======================================== + +| ``sprout::to_hash(v)`` is a valid call, because ``hash_value(v)`` ADL callable is defined. + +Examples +======================================== +.. sourcecode:: c++ + + #include + using namespace sprout; + + using type = string<8>; + SPROUT_STATIC_CONSTEXPR auto input = type("homuhomu"); + SPROUT_STATIC_CONSTEXPR auto h = sprout::to_hash(input); + static_assert(h, "hash value generated from string."); + +Complexity +======================================== + +| linear in N. +| Recursive function invocations in *O(logN)* (logarithmic) depth. + +Header +======================================== + +| ``sprout/string/hash.hpp`` +| Convenience header: ``sprout/string.hpp`` + diff --git a/docs/_sources/libs/string/basic_string/std-hash.txt b/docs/_sources/libs/string/basic_string/std-hash.txt new file mode 100644 index 00000000..1dca628a --- /dev/null +++ b/docs/_sources/libs/string/basic_string/std-hash.txt @@ -0,0 +1,46 @@ +.. _sprout-string-basic_string-std-hash: +############################################################################### +std::hash +############################################################################### + +Interface +======================================== +.. sourcecode:: c++ + + namespace std { + template + struct hash >; + } + +Description +======================================== + +| Meet the requirements of class template hash. + +Member functions +---------------------------------------- + +======================================== =============================================================================== +function definition +======================================== =============================================================================== +operator() Equivalent to ``sprout::hash_range(v)``. +======================================== =============================================================================== + +Examples +======================================== +.. sourcecode:: c++ + + #include + using namespace sprout; + + using type = string<8>; + SPROUT_STATIC_CONSTEXPR auto input = type("homuhomu"); + SPROUT_STATIC_CONSTEXPR auto h = std::hash()(input); + static_assert(h, "hash value generated from string."); + +Header +======================================== + +| ``sprout/string/hash.hpp`` +| Convenience header: ``sprout/string.hpp`` + diff --git a/docs/_sources/libs/string/basic_string/std-tuple_element.txt b/docs/_sources/libs/string/basic_string/std-tuple_element.txt new file mode 100644 index 00000000..1e8e52e2 --- /dev/null +++ b/docs/_sources/libs/string/basic_string/std-tuple_element.txt @@ -0,0 +1,45 @@ +.. _sprout-string-basic_string-std-tuple_element: +############################################################################### +std::tuple_element +############################################################################### + +Interface +======================================== +.. sourcecode:: c++ + + namespace std { + template + struct tuple_element >; + } + + // syntax + std::tuple_element >::type + +Requires +======================================== + +| ``I < N``. The program is ill-formed if I is out of bounds. + +Value +======================================== + +| The type T. + +Examples +======================================== +.. sourcecode:: c++ + + #include + #include + using namespace sprout; + + using type = string<8>; + using element_type = std::tuple_element<0, type>::type; + static_assert(std::is_same::value, "tuple element type of string is char."); + +Header +======================================== + +| ``sprout/string/tuple.hpp`` +| Convenience header: ``sprout/string.hpp`` + diff --git a/docs/_sources/libs/string/basic_string/std-tuple_size.txt b/docs/_sources/libs/string/basic_string/std-tuple_size.txt new file mode 100644 index 00000000..8fb06baf --- /dev/null +++ b/docs/_sources/libs/string/basic_string/std-tuple_size.txt @@ -0,0 +1,44 @@ +.. _sprout-string-basic_string-std-tuple_size: +############################################################################### +std::tuple_size +############################################################################### + +Interface +======================================== +.. sourcecode:: c++ + + namespace std { + template + struct tuple_size >; + } + + // syntax + std::tuple_size >::value + +Return type +======================================== + +| integral constant expression. + +Value +======================================== + +| N. + +Examples +======================================== +.. sourcecode:: c++ + + #include + using namespace sprout; + + using type = string<8>; + SPROUT_STATIC_CONSTEXPR auto size = std::tuple_size::value; + static_assert(size == 8, "tuple size of string is 8."); + +Header +======================================== + +| ``sprout/string/tuple.hpp`` +| Convenience header: ``sprout/string.hpp`` + diff --git a/docs/_sources/libs/string/basic_string/swap-global.txt b/docs/_sources/libs/string/basic_string/swap-global.txt new file mode 100644 index 00000000..16bb94b6 --- /dev/null +++ b/docs/_sources/libs/string/basic_string/swap-global.txt @@ -0,0 +1,48 @@ +.. _sprout-string-basic_string-swap-global: +############################################################################### +swap +############################################################################### + +Interface +======================================== +.. sourcecode:: c++ + + template + inline void + swap(sprout::basic_string& lhs, sprout::basic_string& rhs) + SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(lhs.swap(rhs))); + +Effects +======================================== + +| ``lhs.swap(rhs)``. + +Throws +======================================== + +| Nothing unless ``lhs.swap(rhs)`` throws an exception. + +Examples +======================================== +.. sourcecode:: c++ + + #include + #include + using namespace sprout; + + auto x = string<8>("homuhomu"); + auto y = string<8>("madocchi"); + swap(x, y); + SPROUT_ASSERT_MSG(x == "madocchi" && y == "homuhomu", "each element are swapped."); + +Complexity +======================================== + +| linear in N. + +Header +======================================== + +| ``sprout/string/array.hpp`` +| Convenience header: ``sprout/string.hpp`` + diff --git a/docs/_sources/libs/string/basic_string/tuple_get.txt b/docs/_sources/libs/string/basic_string/tuple_get.txt new file mode 100644 index 00000000..273631a7 --- /dev/null +++ b/docs/_sources/libs/string/basic_string/tuple_get.txt @@ -0,0 +1,61 @@ +.. _sprout-string-basic_string-tuple_get: +############################################################################### +tuple_get +############################################################################### + +Interface +======================================== +.. sourcecode:: c++ + + template + inline SPROUT_CONSTEXPR T& + tuple_get(sprout::basic_string& t) SPROUT_NOEXCEPT; + + template + inline SPROUT_CONSTEXPR T const& + tuple_get(sprout::basic_string const& t) SPROUT_NOEXCEPT; + + template + inline SPROUT_CONSTEXPR T&& + tuple_get(sprout::basic_string&& t) SPROUT_NOEXCEPT; + +Requires +======================================== + +| ``I < N``. The program is ill-formed if I is out of bounds. + +Returns +======================================== + +| A reference to the Ith element of a, where indexing is zero-based. +| or +| A const reference to the Ith element of a, where indexing is zero-based. +| or +| Equivalent to ``return move(tuple_get(t));`` + +Notes +======================================== + +| ``sprout::get(t)`` (same as sprout::tuples::get) is a valid call, because ``tuple_get(t)`` ADL callable is defined. + +Examples +======================================== +.. sourcecode:: c++ + + #include + using namespace sprout; + + SPROUT_STATIC_CONSTEXPR auto input = string<8>("homuhomu"); + static_assert(sprout::get<4>(input) == 'h', "an element at position 4 is h."); + +Complexity +======================================== + +| Recursive function invocations in *O(1)* (constant) depth. + +Header +======================================== + +| ``sprout/string/tuple.hpp`` +| Convenience header: ``sprout/string.hpp`` + diff --git a/docs/_sources/libs/string/index.txt b/docs/_sources/libs/string/index.txt index 86da92cd..01c24a9e 100644 --- a/docs/_sources/libs/string/index.txt +++ b/docs/_sources/libs/string/index.txt @@ -6,13 +6,17 @@ Sprout.String .. toctree:: :hidden: + basic_string/swap-global + basic_string/std-tuple_size + basic_string/std-tuple_element + basic_string/tuple_get + basic_string/std-hash + basic_string/hash_value + Description ======================================== Character traits -**************************************** - -Classes ---------------------------------------- ======================================== =============================================================================== @@ -22,9 +26,6 @@ class ======================================== =============================================================================== String classes -**************************************** - -Classes ---------------------------------------- ============================================================ =============================================================================== diff --git a/docs/libs/string/basic_string/hash_value.html b/docs/libs/string/basic_string/hash_value.html new file mode 100644 index 00000000..e08d4b2e --- /dev/null +++ b/docs/libs/string/basic_string/hash_value.html @@ -0,0 +1,177 @@ + + + + + + + + + + hash_value — Sprout 1.0 documentation + + + + + + + + + + + + + + +
+
+

Table Of Contents

+ + +

Previous topic

+

std::hash

+

This Page

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

hash_value

+
+

Interface

+
template<typename T, std::size_t N, typename Traits>
+inline SPROUT_CONSTEXPR std::size_t
+hash_value(sprout::basic_string<T, N, Traits> const& v);
+
+
+
+
+

Returns

+
+
Equivalent to sprout::hash_range(v).
+
+
+
+

Notes

+
+
sprout::to_hash(v) is a valid call, because hash_value(v) ADL callable is defined.
+
+
+
+

Examples

+
#include <sprout/string.hpp>
+using namespace sprout;
+
+using type = string<8>;
+SPROUT_STATIC_CONSTEXPR auto input = type("homuhomu");
+SPROUT_STATIC_CONSTEXPR auto h = sprout::to_hash(input);
+static_assert(h, "hash value generated from string.");
+
+
+
+
+

Complexity

+
+
linear in N.
+
Recursive function invocations in O(logN) (logarithmic) depth.
+
+
+ +
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/docs/libs/string/basic_string/std-hash.html b/docs/libs/string/basic_string/std-hash.html new file mode 100644 index 00000000..0f48beaa --- /dev/null +++ b/docs/libs/string/basic_string/std-hash.html @@ -0,0 +1,195 @@ + + + + + + + + + + std::hash — Sprout 1.0 documentation + + + + + + + + + + + + + + + +
+
+

Table Of Contents

+ + +

Previous topic

+

tuple_get

+

Next topic

+

hash_value

+

This Page

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

std::hash

+
+

Interface

+
namespace std {
+  template<typename T, std::size_t N, typename Traits>
+  struct hash<sprout::basic_string<T, N, Traits> >;
+}
+
+
+
+
+

Description

+
+
Meet the requirements of class template hash.
+
+
+

Member functions

+ ++++ + + + + + + + + + + +
functiondefinition
operator()Equivalent to sprout::hash_range(v).
+
+
+
+

Examples

+
#include <sprout/string.hpp>
+using namespace sprout;
+
+using type = string<8>;
+SPROUT_STATIC_CONSTEXPR auto input = type("homuhomu");
+SPROUT_STATIC_CONSTEXPR auto h = std::hash<type>()(input);
+static_assert(h, "hash value generated from string.");
+
+
+
+ +
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/docs/libs/string/basic_string/std-tuple_element.html b/docs/libs/string/basic_string/std-tuple_element.html new file mode 100644 index 00000000..8e33686e --- /dev/null +++ b/docs/libs/string/basic_string/std-tuple_element.html @@ -0,0 +1,183 @@ + + + + + + + + + + std::tuple_element — Sprout 1.0 documentation + + + + + + + + + + + + + + + +
+
+

Table Of Contents

+ + +

Previous topic

+

std::tuple_size

+

Next topic

+

tuple_get

+

This Page

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

std::tuple_element

+
+

Interface

+
namespace std {
+  template<std::size_t I, typename T, std::size_t N, typename Traits>
+  struct tuple_element<I, sprout::basic_string<T, N, Traits> >;
+}
+
+// syntax
+std::tuple_element<I, basic_string<T, N, Traits> >::type
+
+
+
+
+

Requires

+
+
I < N. The program is ill-formed if I is out of bounds.
+
+
+
+

Value

+
+
The type T.
+
+
+
+

Examples

+
#include <sprout/string.hpp>
+#include <type_traits>
+using namespace sprout;
+
+using type = string<8>;
+using element_type = std::tuple_element<0, type>::type;
+static_assert(std::is_same<element_type, char>::value, "tuple element type of string is char.");
+
+
+
+ +
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/docs/libs/string/basic_string/std-tuple_size.html b/docs/libs/string/basic_string/std-tuple_size.html new file mode 100644 index 00000000..85efca94 --- /dev/null +++ b/docs/libs/string/basic_string/std-tuple_size.html @@ -0,0 +1,182 @@ + + + + + + + + + + std::tuple_size — Sprout 1.0 documentation + + + + + + + + + + + + + + + +
+
+

Table Of Contents

+ + +

Previous topic

+

swap

+

Next topic

+

std::tuple_element

+

This Page

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

std::tuple_size

+
+

Interface

+
namespace std {
+  template<typename T, std::size_t N, typename Traits>
+  struct tuple_size<sprout::basic_string<T, N, Traits> >;
+}
+
+// syntax
+std::tuple_size<basic_string<T, N, Traits> >::value
+
+
+
+
+

Return type

+
+
integral constant expression.
+
+
+
+

Value

+
+
N.
+
+
+
+

Examples

+
#include <sprout/string.hpp>
+using namespace sprout;
+
+using type = string<8>;
+SPROUT_STATIC_CONSTEXPR auto size = std::tuple_size<type>::value;
+static_assert(size == 8, "tuple size of string is 8.");
+
+
+
+ +
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/docs/libs/string/basic_string/swap-global.html b/docs/libs/string/basic_string/swap-global.html new file mode 100644 index 00000000..b429f694 --- /dev/null +++ b/docs/libs/string/basic_string/swap-global.html @@ -0,0 +1,188 @@ + + + + + + + + + + swap — Sprout 1.0 documentation + + + + + + + + + + + + + + + +
+
+

Table Of Contents

+ + +

Previous topic

+

Sprout.String

+

Next topic

+

std::tuple_size

+

This Page

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

swap

+
+

Interface

+
template<typename T, std::size_t N, typename Traits>
+inline void
+swap(sprout::basic_string<T, N, Traits>& lhs, sprout::basic_string<T, N, Traits>& rhs)
+SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(lhs.swap(rhs)));
+
+
+
+
+

Effects

+
+
lhs.swap(rhs).
+
+
+
+

Throws

+
+
Nothing unless lhs.swap(rhs) throws an exception.
+
+
+
+

Examples

+
#include <sprout/string.hpp>
+#include <sprout/assert.hpp>
+using namespace sprout;
+
+auto x = string<8>("homuhomu");
+auto y = string<8>("madocchi");
+swap(x, y);
+SPROUT_ASSERT_MSG(x == "madocchi" && y == "homuhomu", "each element are swapped.");
+
+
+
+
+

Complexity

+
+
linear in N.
+
+
+ +
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/docs/libs/string/basic_string/tuple_get.html b/docs/libs/string/basic_string/tuple_get.html new file mode 100644 index 00000000..aeb3437d --- /dev/null +++ b/docs/libs/string/basic_string/tuple_get.html @@ -0,0 +1,203 @@ + + + + + + + + + + tuple_get — Sprout 1.0 documentation + + + + + + + + + + + + + + + +
+
+

Table Of Contents

+ + +

Previous topic

+

std::tuple_element

+

Next topic

+

std::hash

+

This Page

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

tuple_get

+
+

Interface

+
template<std::size_t I, typename T, std::size_t N, typename Traits>
+inline SPROUT_CONSTEXPR T&
+tuple_get(sprout::basic_string<T, N, Traits>& t) SPROUT_NOEXCEPT;
+
+template<std::size_t I, typename T, std::size_t N, typename Traits>
+inline SPROUT_CONSTEXPR T const&
+tuple_get(sprout::basic_string<T, N, Traits> const& t) SPROUT_NOEXCEPT;
+
+template<std::size_t I, typename T, std::size_t N, typename Traits>
+inline SPROUT_CONSTEXPR T&&
+tuple_get(sprout::basic_string<T, N, Traits>&& t) SPROUT_NOEXCEPT;
+
+
+
+
+

Requires

+
+
I < N. The program is ill-formed if I is out of bounds.
+
+
+
+

Returns

+
+
A reference to the Ith element of a, where indexing is zero-based.
+
or
+
A const reference to the Ith element of a, where indexing is zero-based.
+
or
+
Equivalent to return move(tuple_get<I>(t));
+
+
+
+

Notes

+
+
sprout::get<I>(t) (same as sprout::tuples::get) is a valid call, because tuple_get<I>(t) ADL callable is defined.
+
+
+
+

Examples

+
#include <sprout/string.hpp>
+using namespace sprout;
+
+SPROUT_STATIC_CONSTEXPR auto input = string<8>("homuhomu");
+static_assert(sprout::get<4>(input) == 'h', "an element at position 4 is h.");
+
+
+
+
+

Complexity

+
+
Recursive function invocations in O(1) (constant) depth.
+
+
+ +
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/docs/libs/string/index.html b/docs/libs/string/index.html index 2c736141..bc84033d 100644 --- a/docs/libs/string/index.html +++ b/docs/libs/string/index.html @@ -38,6 +38,7 @@ + @@ -47,6 +48,9 @@
  • index
  • +
  • + next |
  • previous |
  • @@ -60,12 +64,8 @@
    • Sprout.String
      • Description
      • @@ -89,6 +87,9 @@

        Previous topic

        clamp

        +

        Next topic

        +

        swap

        This Page

        • Description

          Character traits

          -
          -

          Classes

          @@ -142,11 +141,8 @@
          -

          String classes

          -
          -

          Classes

          @@ -177,9 +173,9 @@
          -

          Non-member functions

          +

          Non-member functions

          -
          specialized algorithms
          +

          specialized algorithms

          @@ -191,14 +187,14 @@ - +
          swap
          swap  
          -
          concatenations
          +

          concatenations

          @@ -217,7 +213,7 @@
          -
          comparisons
          +

          comparisons

          @@ -251,7 +247,7 @@
          -
          inserters and extractors
          +

          inserters and extractors

          @@ -273,7 +269,7 @@
          -
          numeric conversions
          +

          numeric conversions

          @@ -373,7 +369,7 @@
          -
          string generators
          +

          string generators

          @@ -405,7 +401,7 @@
          -

          Tuple interface

          +

          Tuple interface

          @@ -417,10 +413,10 @@ - + - + @@ -436,14 +432,14 @@ - +
          std::tuple_size
          std::tuple_size  
          std::tuple_element
          std::tuple_element  
          tuple_get
          tuple_get  
          -

          Hash support

          +

          Hash support

          @@ -455,7 +451,7 @@ - + @@ -471,14 +467,13 @@ - +
          std::hash
          std::hash  
          hash_value
          hash_value  
          -
        • index
        • +
        • + next |
        • previous |
        • diff --git a/docs/searchindex.js b/docs/searchindex.js index 06925785..f2759112 100644 --- a/docs/searchindex.js +++ b/docs/searchindex.js @@ -1 +1 @@ -Search.setIndex({objects:{},terms:{all:[21,67,70,76,72,64,31],math_funct:47,definit:[56,30],prefix:[13,36],follow:[62,1,23,2,45,66,7,54,55,14,75,78,84,36,17,18,39,33],find_if:[36,2,61],value_typ:56,whose:57,"const":[0,3,5,7,43,9,71,12,4,16,17,18,28,31,21,23,25,26,59,29,51,36,41,40,52,44,48,49,50,54,53,55,74,73,58,60,82,68,32,67,72,56,77,79,80,83],tuple_el:[27,65,35],bind2nd:[2,70,14,15,36,20,38,78],compost:47,to_string_of:65,swap:[56,65,81,46,35],under:22,iterator_trait:[17,14],is_strictly_decreas:[69,61],sprout_no_cxx14_initializer_list:[74,29,60],everi:[21,38,28,84,70],count_if:[14,61],fals:[21,0,84,25,42,48,50,70,52,13,82,15,80,20,38,28,53,40],is_sorted_until:[61,19,37],result2:36,result1:36,util:47,facebook:22,element_typ:27,syntax:[27,34,57],min_el:[62,61],one_of_equ:[61,40],list:[42,1,47,57,60,84],to_u16str:65,iter:[1,2,3,8,4,14,15,17,18,28,31,21,23,25,70,19,33,51,38,39,40,42,43,45,47,66,54,55,56,58,78,62,20,63,75,41,77,79,84],initializer_list:[74,29,60],upper:[55,72],impli:[31,72],find_end:[66,61],zero:[36,59],aggreg:57,odd:14,linear:[81,63,19,83,46],compat:47,index:59,compar:[62,55,23,24,63,37,7,8,29,13,72,74,39,36,19,31,60],neg:54,brief:22,access:[42,56,84],inputiterator1:[13,36,1,45,84],inputiterator2:[13,36,1,84],version:[36,22,49,26],boost:22,hash:[65,83,30,35],gener:[47,65,83,30,35],satisfi:31,path:22,modifi:[56,61],valu:[34,7,17,18,28,31,21,23,25,26,27,29,30,33,66,36,40,42,45,49,54,55,74,60,72,56,75,83],search:[75,31,61],convers:65,checksum:47,larger:[8,74],none_of_equ:[28,61],is_heap_until:[63,24,61],implement:[60,56,29,74],instal:22,txt:22,make_arrai:[76,64,35],range_numer:47,from:[2,45,67,66,54,30,14,75,83,17,18,78,33],would:42,pred:[42,1,2,45,70,66,54,14,15,84,75,20,38,78,33],two:[13,36,7],websit:22,program:[27,59],call:[81,59,83],type:[34,74,47,27,7,29,30,54,76,56,83,57,64,60],until:[63,19],sort:[61,19,37],cctype:47,mismatch:[1,61],int_to_str:65,hold:[62,1,23,2,45,66,7,54,55,14,75,78,84,17,18,39,33],logarithm:[0,1,2,11,6,8,10,13,14,15,17,18,28,20,21,23,24,25,70,19,29,31,33,78,36,38,39,40,42,45,48,66,50,52,54,53,55,74,80,60,62,69,37,72,63,75,83,84],high:7,none:[38,28],can:[22,57],meet:[42,30,84],input2:[42,1,45,66,13,75,36,84],input1:[42,1,2,45,66,54,13,75,36,18,78,84],give:[22,7],templat:[0,1,2,11,6,7,8,10,13,14,15,17,18,19,20,21,23,24,25,70,27,28,29,30,31,33,34,36,38,39,40,42,45,46,47,48,66,50,52,54,53,55,74,73,59,60,62,78,64,63,67,69,37,72,56,75,76,80,83,84],hash_rang:[83,30],minimum:61,stoll:65,stold:65,string:[65,47],alwai:[43,79,3,77],gcc:22,end:[1,2,11,6,8,10,13,14,15,17,18,28,31,21,23,24,25,70,19,33,36,38,39,40,42,81,45,66,54,55,56,73,78,62,69,37,72,20,63,75,41,84],find_if_not:[78,61],basic_str:65,"void":[49,56,81,46,26],make_common_arrai:[64,35],max:[62,44,8,74,39,60,61],after:[79,3,41,51],variant:47,mai:7,const_iter:[4,56,79,77,41],stol:65,github:22,inttyp:65,author:22,correspond:[1,2,7,8,13,14,17,18,31,23,60,36,39,42,45,66,54,55,78,62,33,75,84],element:[2,3,5,8,71,12,13,14,16,17,18,59,31,23,72,27,79,51,36,64,39,42,43,44,45,46,9,55,56,57,58,78,62,4,32,76,67,68,33,41,77,81],caus:32,callabl:[59,83],worst:42,first:[1,2,6,8,10,13,14,15,16,17,18,28,31,21,23,24,25,70,19,29,33,78,36,38,39,40,11,43,45,9,54,55,74,58,60,62,4,68,69,37,72,20,63,75,77],string_from_c_str:65,ith:59,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,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,73,74,75,76,77,78,79,80,81,82,83,84],move:[59,73],becaus:[59,83],increas:[6,10],through:22,binarypred:[42,1,45,66,54,33,75,84],pointer:[68,56,16],equiv:36,member:[56,65,30,35],tristate_lexicographical_compar:[36,61],uuid:47,fix:47,decai:64,mail:22,non:[65,54,13,35,36,61],"return":[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,23,24,25,26,78,28,29,66,31,33,34,51,36,37,38,39,40,42,43,44,45,48,49,50,52,54,53,71,55,74,73,58,59,60,62,4,64,32,76,67,68,69,70,72,63,75,41,77,79,80,82,83,84],greater:[11,2,48,15,80,36,20,38],nonneg:[66,75],auto:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,23,24,25,26,78,28,29,30,31,33,34,51,36,37,38,39,40,41,42,43,44,45,46,48,49,50,52,54,53,71,55,74,57,58,59,60,62,4,64,32,66,67,68,69,70,72,73,63,75,76,77,79,80,81,82,83,84],initi:[76,64,56,60,57],bound:[23,32,72,27,12,55,59],front:[9,56],from_str:65,lexicographical_compar:[13,61],revers:[58,43,3,51],separ:57,mode:22,each:[22,33,81,46],found:[1,2,45,66,54,33,75,18,31,78],compil:[22,47],adjacent_find:[33,61],domain:47,individu:22,logn:[0,1,2,11,6,8,10,13,14,15,17,18,28,20,21,23,24,25,70,19,29,31,33,78,36,38,39,40,42,45,48,66,50,52,54,53,55,74,80,60,62,69,37,72,63,75,83,84],special:[65,35],out:[27,32,59,12],all_of_equ:[21,72,61],categori:47,typenam:[0,1,2,11,6,7,8,10,13,14,15,17,18,19,20,21,23,24,25,70,27,28,29,30,31,33,34,36,38,39,40,42,45,46,48,66,50,52,54,53,55,74,73,59,60,62,78,64,63,67,69,37,72,56,75,76,80,83,84],inputiter:[21,38,2,25,70,14,15,17,18,28,20,78,40],integr:[34,54],log2:[55,23,31,72],forwarditerator2:[42,75,45,66],forwarditerator1:[42,75,66],standard:47,base:[22,59],org:22,upper_bound:[55,72,61],length:47,string_to_float:65,one_of:[15,61],assign:[56,26],tuple_s:[34,65,35],oper:[52,0,65,47,48,50,73,30,80,56,35,32,53,61],softwar:22,rang:[1,2,8,13,14,15,17,18,28,31,21,23,25,70,19,36,38,39,40,42,45,66,54,55,63,78,62,72,20,33,75,84],declval:[56,81],arrai:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,23,24,25,26,27,28,29,30,31,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,62,63,64,32,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84],number:[22,44,7,71,13,14,36,17],cinttyp:47,smaller:[8,29,60],max_el:[39,61],lexicograph:[0,48,50,13,80,36,61],size:[71,82,34,44,74,47,29,54,76,56,64,60],given:[42,1,84],rightmost:60,data:[68,56,16,47],licens:22,cstring:47,capac:56,construct:56,conveni:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,23,24,25,26,27,28,29,30,31,33,34,51,36,37,38,39,40,41,42,43,44,45,46,48,49,50,52,54,53,71,55,56,57,58,59,60,62,63,64,32,66,67,68,69,70,72,73,74,75,76,77,78,79,80,81,82,83,84],store:47,to_hash:83,darkroom:47,namespac:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,23,24,25,26,27,28,29,30,31,33,34,51,36,37,38,39,40,42,43,44,45,46,48,49,50,52,54,53,71,55,74,57,58,59,60,62,78,32,66,68,69,70,72,73,63,75,41,77,79,80,81,82,83,84],copi:[22,74,67,29,56,73,60],specifi:[32,29,12,76,74,60],pars:[22,47],c_arrai:[68,56],first1:[42,1,45,66,13,75,36,84],first2:[42,1,45,66,13,75,36,84],exactli:[62,42,7,14,39,17,60,33],than:[0,2,70,48,50,54,13,15,78,80,36,75,20,38,60],std:[0,34,80,12,14,17,59,53,52,26,27,29,30,35,81,46,48,49,50,74,73,60,65,67,56,83],second:[1,8,60,72],structur:47,charact:65,project:22,posit:[1,2,3,8,12,18,59,23,72,19,51,39,45,66,54,55,63,78,62,32,33,75,41,79],to_wstr:65,rend:[56,51],argument:[42,1,29,76,74,64,60,84],rai:[22,47],have:[13,36],need:76,predic:[1,2,8,14,15,17,18,28,20,21,25,70,60,38,40,42,45,66,54,78,33,75,84],constexprrandomaccessiter:56,option:47,built:67,equival:[52,29,30,13,74,83,36,53,59,60],min:[62,1,8,29,13,33,39,36,84,60,61],greater_equ:69,destroi:56,note:[56,59,83],also:[31,72],without:[49,26],which:[22,1,2,63,14,17,18,19,78,33],equal_rang:[72,61],const_refer:[32,5,49,26,12,56,9],sprout_noexcept:[82,68,44,3,79,43,71,4,77,56,16,51,58,59,41],begin:[1,2,11,6,8,10,13,14,15,17,18,28,31,21,23,24,25,70,19,33,66,36,37,38,39,40,42,81,45,49,54,55,56,73,78,62,4,69,26,72,20,63,75,84],unless:[81,46],distribut:22,trace:[22,47],shall:[55,23,54,60,72],buffer:47,object:[76,64,67,47],size_typ:[32,56,44,71,12],pair:[1,72,8,13,36,60],crbegin:[43,56],"class":[47,56,65,30,35],accompani:22,binary_search:[31,61],random:[42,47,84,22],rbegin:[58,56],all_of:[61,70],find:[45,66,54,75,18,61],onli:[22,56,15,40],explicitli:76,copyright:22,swap_rang:81,get:59,lower_bound:[72,23,61],make_str:65,express:[55,34,23,31,72],clang:22,range_adaptor:47,stoi:65,stod:65,none_of:[38,61],stof:65,is_sort:[11,37,6,10,69,61],requir:[42,23,72,27,7,29,30,54,55,74,59,31,60,84],synthes:[22,47],yield:[13,36],common:64,partit:[55,23,31,72],contain:[1,2,11,6,8,10,13,14,15,16,17,18,28,31,21,22,23,24,25,70,19,36,38,39,40,42,44,45,47,66,52,54,53,71,55,63,78,62,68,69,37,72,20,33,75,84],comma:57,where:[42,8,33,57,59,60],valid:[59,83],wiki:22,arr:67,set:45,minmax:[60,61],see:22,result:[1,2,11,6,7,8,10,13,14,15,17,18,28,20,21,23,24,25,70,19,29,31,33,78,36,38,39,40,42,45,66,54,55,74,60,62,69,37,72,63,75,84],arg:[76,64],hash_valu:[65,83,35],any_of_equ:[25,61],modulu:14,slideshar:22,less_equ:6,smallest:[29,60],neither:[13,36],paramet:76,numer:[65,47],comp:[62,55,23,24,63,37,7,8,29,13,72,74,39,36,19,31,60],typedef:56,cbegin:[56,79,77],constexpr:[22,74,29,60],type_trait:[27,47],preprocessor:47,randomaccessiter:[63,24],struct:[27,34,30],both:33,metaprogram:47,last:[2,3,5,6,8,10,14,15,17,18,28,31,21,23,24,25,70,19,51,38,39,40,11,66,54,55,63,78,62,69,37,72,20,33,41,79],delimit:36,ill:[27,59],equal:[21,42,25,45,72,48,66,50,52,54,61,33,75,84,17,18,28,53,40],range_algorithm:47,char_trait:65,bitset:47,static_s:56,stoumax:65,point:[22,7],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,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,73,74,75,76,77,78,79,80,81,82,83,84],permut:42,is_permut:[42,61],respect:[55,23,31,72],minmax_el:[8,61],difference_typ:[17,56,14],stretch:65,empti:[21,82,25,45,70,66,8,13,56,15,36,75,20,38,28,40],unexpect:7,cend:56,remark:[42,1,32,7,29,13,74,57,36,64,76,60,84],ani:[62,55,23,25,66,54,13,75,36,20,39],assert:[49,81,46,26],sprout_noexcept_expr:[56,81,46],tuple_get:[59,65,35],"case":[49,26],u32str:65,ident:7,defin:[74,29,13,56,83,36,59,60],sprout_constexpr:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,23,24,25,26,28,29,66,31,33,78,51,36,37,38,39,40,41,42,43,44,45,48,49,50,52,54,53,71,55,56,80,58,59,60,62,4,64,32,63,67,68,69,70,72,74,75,76,77,79,82,83,84],behavior:32,furthermost:[55,23],exist:42,invoc:[0,1,2,3,5,6,8,9,10,11,12,13,14,15,16,17,18,19,20,21,23,24,25,26,28,29,66,31,33,78,51,36,37,38,39,40,42,43,44,45,48,49,50,52,54,53,71,55,74,57,58,59,60,62,4,64,32,76,67,68,69,70,72,63,75,41,77,79,80,82,83,84],bolero:22,cwchar:47,floattyp:65,sever:[74,29,60],welcom:22,japanes:22,alphabet:47,murakami:22,same:[11,67,6,10,13,69,36,59],shorter:[13,36],binari:[31,61],complex:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,23,24,25,26,28,29,66,31,33,78,51,36,37,38,39,40,42,43,44,45,46,47,48,49,50,52,54,53,71,55,74,57,58,59,60,62,4,64,32,76,67,68,69,70,72,63,75,41,77,79,80,81,82,83,84],largest:[74,60],document:22,http:22,effect:[81,45,46,26,66,73,54,75,49],weed:47,stoul:65,lower:[23,72],elem:56,is_heap:[24,61],exampl:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,23,24,25,26,27,28,29,30,31,33,34,51,36,37,38,39,40,41,42,43,44,45,46,48,49,50,52,54,53,71,55,74,57,58,59,60,62,78,64,32,66,67,68,69,70,72,73,63,75,76,77,79,80,81,82,83,84],thi:[22,29,76,74,73,60],undefin:32,sprout_static_constexpr:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,23,24,25,26,78,28,29,30,31,33,34,51,36,37,38,39,40,41,42,43,44,45,48,49,50,52,54,53,71,55,56,57,58,59,60,62,63,64,32,66,67,68,69,70,72,74,75,76,77,79,80,82,83,84],bit_oper:47,distanc:[42,8,19,63],less:[0,70,50,10,54,13,75,36,78],nan:7,license_1_0:22,float_to_str:65,is_strictly_increas:[6,61],float_to_string_exp:65,static_assert:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,23,24,25,26,27,28,29,30,31,33,34,51,36,37,38,39,40,41,42,43,44,45,48,49,50,52,54,53,71,55,74,80,58,59,60,62,78,64,32,66,67,68,69,70,72,63,75,76,77,79,82,83,84],miscellan:47,size_t:[52,0,34,46,67,27,50,30,48,56,80,53,59,83],except:[81,46],blog:22,exposit:56,input:[2,3,5,6,7,8,10,12,4,14,15,16,17,18,28,20,21,23,24,25,70,19,29,30,31,33,78,51,38,39,40,11,43,44,9,71,55,74,57,58,59,60,62,68,32,69,37,72,63,41,77,79,82,83],adl:[59,83],subsequ:[66,75,54],match:45,applic:[1,2,8,13,14,15,17,18,28,20,21,25,70,78,36,38,39,40,42,45,66,54,60,62,33,75,84],wstring:65,is_increas:[10,61],recurs:[0,1,2,3,5,6,8,9,10,11,12,13,14,15,16,17,18,19,20,21,23,24,25,26,28,29,66,31,33,78,51,36,37,38,39,40,42,43,44,45,48,49,50,52,54,53,71,55,74,57,58,59,60,62,4,64,32,76,67,68,69,70,72,63,75,41,77,79,80,82,83,84],insert:65,like:47,specif:47,integ:[66,75,54],noth:[81,46],page:22,www:22,twitter:22,linux:22,some:45,back:[68,56,16,5],last1:[42,1,45,66,13,75,36,84],last2:[42,1,45,66,13,75,36,84],sizeof:[76,64],make_pair:[8,72],librari:[22,47],common_decai:64,mathemat:47,const_point:[68,56,16],nonempti:33,condit:[62,1,23,2,45,66,7,54,55,14,75,78,84,17,18,31,39,33],leftmost:[74,29,60],content:[52,0,22,48,50,80,53],refer:[32,5,8,12,56,9,59],ration:47,stoimax:65,index_tupl:47,repositori:22,lessthancompar:[7,74,29,60],sprout_assert_msg:[49,81,46,26],"throw":[81,46,12],comparison:[52,0,23,65,72,48,7,80,55,13,39,35,36,62,53,50,31,60,61],most:[1,2,8,13,15,20,18,28,31,21,23,25,70,60,36,38,40,45,66,54,55,78,72,75,84],delim1:36,delim2:36,find_first_of:[45,61],includ:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,23,24,25,26,27,28,29,30,31,33,34,51,36,37,38,39,40,41,42,43,44,45,46,48,49,50,52,54,53,71,55,74,57,58,59,60,62,78,64,32,66,67,68,69,70,72,73,63,75,76,77,79,80,81,82,83,84],ptrdiff_t:56,string_to_int:65,search_n:[54,61],any_of:[20,61],clamp:[7,61],"float":7,fill_n:[49,26],forwarditer:[62,11,23,37,6,8,10,54,55,72,33,69,19,31,39],cstdlib:47,u16str:65,support:[22,65,47,29,74,35,60],transform:36,out_of_rang:12,start:22,compliant:47,interfac:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,48,49,50,51,52,53,54,55,56,73,58,59,60,62,63,64,65,66,67,68,69,70,71,72,74,75,76,77,78,79,80,81,82,83,84],low:7,strictli:[6,69],const_reverse_iter:[43,58,56,3,51],"function":[0,1,2,3,4,5,6,8,9,10,11,12,13,14,15,16,17,18,19,20,21,23,24,25,26,28,29,30,31,32,33,78,35,36,37,38,39,40,41,42,43,44,45,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,79,80,82,83,84],form:[27,59],tupl:[34,65,47,27,35,59,83],is_sam:27,link:22,heap:[63,24,61],inlin:[0,1,2,11,6,7,8,10,13,14,15,17,18,28,20,21,23,24,25,70,19,29,31,33,78,36,38,39,40,42,45,46,48,66,50,52,54,53,55,74,80,59,60,62,76,64,67,69,37,72,63,75,83,84],"true":[21,0,84,25,42,48,50,70,52,53,13,82,15,80,20,38,28,31,40],count:[17,14,54,61],concaten:65,wise:81,maximum:61,is_decreas:[11,61],below:[42,1,84],extractor:65,crend:[56,3],otherwis:[0,7,8,13,15,53,28,20,21,25,70,19,36,38,40,42,48,50,52,63,80,60,82,75,84],constant:[34,3,5,43,71,12,4,16,9,59,26,79,51,64,41,44,49,76,56,57,58,82,68,32,67,77],sub_arrai:47,"int":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,23,24,25,26,27,28,29,30,31,33,34,51,36,37,38,39,40,41,42,43,44,45,46,48,49,50,52,54,53,71,55,74,57,58,59,60,62,78,32,66,67,68,69,70,72,73,63,75,76,77,79,80,81,82,83,84],to_arrai:[67,35],matafunct:[65,35],decreas:[11,69],file:22,adjac:33,pit:47,fill:[49,56,26],denot:[42,1,84],copyconstruct:[74,29,60],floor:8,hpp:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,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,73,74,75,76,77,78,79,80,81,82,83,84],when:[74,29,60],other:[13,22,36,33],bool:[0,11,6,10,13,15,53,28,20,21,24,25,70,31,38,40,42,48,50,52,56,80,82,69,37,84],trait:65,shrink:65,sequenc:[47,66,54,13,75,36,61],stoull:65,max_siz:[56,44],to_u32str:65,longer:[13,36],algorithm:[1,2,11,6,7,8,10,13,14,15,17,18,19,20,21,22,23,24,25,70,28,29,31,33,78,35,36,38,39,40,42,45,47,66,54,55,74,60,61,62,65,69,37,72,63,75,84],reverse_iter:[58,56,51],directori:22,descript:[22,56,65,30,35],to_str:65,depth:[0,1,2,3,5,6,8,9,10,11,12,13,14,15,16,17,18,19,20,21,23,24,25,26,28,29,66,31,33,78,51,36,37,38,39,40,42,43,44,45,48,49,50,52,54,53,71,55,74,57,58,59,60,62,4,64,32,76,67,68,69,70,72,63,75,41,77,79,80,82,83,84],time:47,convert:[56,54,57]},objtypes:{},titles:["operator<","mismatch","find_if","crend","begin","back","is_strictly_increasing","clamp","minmax_element","front","is_increasing","is_decreasing","at","lexicographical_compare","count_if","one_of","back","count","find","is_sorted_until","any_of","all_of_equal","Sprout C++ Libraries","lower_bound","is_heap","any_of_equal","assign","std::tuple_element","none_of_equal","min","std::hash","binary_search","operator[]","adjacent_find","std::tuple_size","Sprout.Array","tristate_lexicographical_compare","is_sorted","none_of","max_element","one_of_equal","end","is_permutation","crbegin","max_size","find_first_of","swap","Libraries","operator>=","fill","operator<=","rend","operator!=","operator==","search_n","upper_bound","array","(initializer)","rbegin","tuple_get","minmax","Sprout.Algorithm","min_element","is_heap_until","make_common_array","Sprout.String","find_end","to_array","back","is_strictly_decreasing","all_of","size","equal_range","operator=","max","search","make_array","cbegin","find_if_not","cbegin","operator>","swap","empty","hash_value","equal"],objnames:{},filenames:["libs/array/array/operator-less","libs/algorithm/mismatch","libs/algorithm/find_if","libs/array/array/crend","libs/array/array/begin","libs/array/array/back","libs/algorithm/is_strictly_increasing","libs/algorithm/clamp","libs/algorithm/minmax_element","libs/array/array/front","libs/algorithm/is_increasing","libs/algorithm/is_decreasing","libs/array/array/at","libs/algorithm/lexicographical_compare","libs/algorithm/count_if","libs/algorithm/one_of","libs/array/array/data","libs/algorithm/count","libs/algorithm/find","libs/algorithm/is_sorted_until","libs/algorithm/any_of","libs/algorithm/all_of_equal","index","libs/algorithm/lower_bound","libs/algorithm/is_heap","libs/algorithm/any_of_equal","libs/array/array/assign","libs/array/array/std-tuple_element","libs/algorithm/none_of_equal","libs/algorithm/min","libs/array/array/std-hash","libs/algorithm/binary_search","libs/array/array/operator-subscript","libs/algorithm/adjacent_find","libs/array/array/std-tuple_size","libs/array/index","libs/algorithm/tristate_lexicographical_compare","libs/algorithm/is_sorted","libs/algorithm/none_of","libs/algorithm/max_element","libs/algorithm/one_of_equal","libs/array/array/end","libs/algorithm/is_permutation","libs/array/array/crbegin","libs/array/array/max_size","libs/algorithm/find_first_of","libs/array/array/swap-global","libs/index","libs/array/array/operator-greater_equal","libs/array/array/fill","libs/array/array/operator-less_equal","libs/array/array/rend","libs/array/array/operator-not_equal_to","libs/array/array/operator-equal_to","libs/algorithm/search_n","libs/algorithm/upper_bound","libs/array/array/index","libs/array/array/initializer-","libs/array/array/rbegin","libs/array/array/tuple_get","libs/algorithm/minmax","libs/algorithm/index","libs/algorithm/min_element","libs/algorithm/is_heap_until","libs/array/make_common_array","libs/string/index","libs/algorithm/find_end","libs/array/to_array","libs/array/array/c_array","libs/algorithm/is_strictly_decreasing","libs/algorithm/all_of","libs/array/array/size","libs/algorithm/equal_range","libs/array/array/operator-assign","libs/algorithm/max","libs/algorithm/search","libs/array/make_array","libs/array/array/cbegin","libs/algorithm/find_if_not","libs/array/array/cend","libs/array/array/operator-greater","libs/array/array/swap","libs/array/array/empty","libs/array/array/hash_value","libs/algorithm/equal"]}) \ No newline at end of file +Search.setIndex({objects:{},terms:{all:[76,53,32,39,21,55,28],math_funct:59,definit:[14,15,79],prefix:[19,37],follow:[18,67,7,1,58,61,2,63,13,27,45,85,90,37,88,74,38,87],find_if:[37,1,17],value_typ:15,whose:84,"const":[0,48,68,2,49,25,26,3,72,4,51,74,33,28,29,7,31,53,52,34,35,36,37,56,82,76,10,60,80,62,63,73,13,44,16,41,75,42,65,86,43,21,78,64,15,66,88,89],tuple_el:[9,20,11,54],bind2nd:[1,32,27,50,37,5,81,85],compost:59,to_string_of:20,swap:[20,12,23,70,15,54],under:30,iterator_trait:[88,27],is_strictly_decreas:[22,17],sprout_no_cxx14_initializer_list:[44,34,42],everi:[76,81,52,90,32],count_if:[27,17],fals:[29,0,90,31,32,60,62,19,65,83,76,50,16,5,81,52,73,82],is_sorted_until:[17,6,8],result2:37,result1:37,util:59,facebook:30,element_typ:[9,11],syntax:[9,46,47,11,84],min_el:[18,17],one_of_equ:[82,17],list:[83,67,59,84,42,90],to_u16str:20,iter:[67,1,48,24,3,27,50,5,74,33,28,76,7,31,32,6,87,36,81,38,82,83,49,58,59,61,63,13,40,41,85,18,52,15,45,56,66,88,90],initializer_list:[44,34,42],upper:[13,53],impli:[28,53],find_end:[61,17],zero:[37,72,75],aggreg:84,odd:27,linear:[12,23,70,35,40,6,89],compat:59,index:[72,75],compar:[18,13,7,77,40,8,2,24,34,19,53,44,42,37,6,28,38],neg:63,brief:30,access:[83,15,90],inputiterator1:[19,37,67,58,90],inputiterator2:[19,37,67,90],version:[37,30,78,80],boost:30,hash:[20,35,79,14,54,89],gener:[20,59,35,79,14,54,89],satisfi:28,path:30,modifi:[15,17],valu:[47,2,88,74,52,28,11,76,7,31,53,9,34,79,35,87,61,37,82,83,58,80,63,13,14,44,42,78,15,45,46,89],search:[45,28,17],convers:20,checksum:59,larger:[24,44],none_of_equ:[52,17],is_heap_until:[40,77,17],implement:[42,15,34,44],instal:30,txt:30,make_arrai:[39,55,54],range_numer:59,from:[1,58,14,61,21,63,79,35,27,45,89,88,74,85,87],would:83,pred:[83,67,1,58,32,61,63,27,45,90,50,5,81,85,87],two:[19,37,2],websit:30,program:[9,72,75,11],call:[35,70,75,89,72],type:[47,11,44,35,9,2,59,34,79,63,39,14,15,89,84,46,55,42],until:[40,6],sort:[17,6,8],cctype:59,mismatch:[67,17],int_to_str:20,hold:[18,67,7,1,58,61,2,63,13,27,45,85,90,88,74,38,87],logarithm:[0,67,1,83,69,24,71,19,27,50,5,74,6,28,29,7,77,31,8,52,34,35,87,85,37,81,38,82,57,58,60,61,62,63,73,13,44,76,16,42,18,22,32,53,40,45,88,89,90],high:2,none:[81,52],can:[30,84],meet:[14,90,79,83],input2:[83,67,58,61,19,45,37,90],input1:[83,67,1,58,61,63,19,45,37,74,85,90],give:[30,2],templat:[0,47,1,23,69,2,24,67,19,72,27,50,5,74,6,28,58,29,7,77,31,8,9,52,34,79,35,83,87,85,37,55,38,82,57,11,12,59,60,61,62,63,73,71,13,14,15,76,16,75,42,18,39,81,40,21,22,32,53,64,44,45,46,88,89,90],hash_rang:[14,89,79,35],minimum:17,stoll:20,stold:20,string:[20,11,14,23,72,35,59,46],alwai:[49,33,48,66],gcc:30,end:[67,1,83,69,24,71,19,27,50,88,74,52,5,76,7,77,31,8,6,28,87,37,81,38,82,57,70,58,61,63,13,40,64,85,18,22,32,53,15,45,56,90],find_if_not:[85,17],basic_str:[20,11,14,23,72,35,46],"void":[12,78,80,70,15,23],make_common_arrai:[55,54],max:[18,10,24,44,42,38,17],after:[33,48,56,36],variant:59,mai:2,const_iter:[3,15,33,66,56],stol:20,github:30,inttyp:20,author:30,correspond:[67,1,2,24,19,27,88,74,28,7,42,37,38,83,58,61,63,13,85,18,87,45,90],element:[1,48,23,24,25,26,19,72,27,4,51,74,33,28,58,7,53,9,75,68,36,37,55,38,83,49,10,11,12,13,15,84,41,85,18,3,43,39,21,86,87,56,66,88,70],caus:43,callabl:[35,75,89,72],worst:83,first:[67,1,69,24,71,3,27,50,4,5,74,6,28,76,7,77,31,8,52,34,87,85,37,81,38,82,57,49,58,51,63,13,44,41,42,18,19,86,22,32,53,40,45,66,88],string_from_c_str:20,ith:[72,75],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,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90],move:[72,75,64],becaus:[35,75,89,72],increas:[69,71],through:30,binarypred:[83,67,58,61,63,87,45,90],pointer:[86,15,4],equiv:37,shorter:[19,37],tristate_lexicographical_compar:[37,17],uuid:59,fix:59,decai:55,mail:30,non:[20,63,19,54,37,17],"return":[0,47,1,48,68,69,2,24,25,26,3,72,27,50,4,5,74,6,28,29,7,77,31,8,33,34,67,35,83,87,85,36,37,78,71,55,62,38,61,57,49,10,58,60,80,51,52,63,73,65,13,44,76,16,41,75,42,18,19,81,43,39,21,86,22,32,53,64,40,45,56,66,46,88,82,89,90],greater:[57,1,60,50,16,37,5,81],nonneg:[61,45],auto:[0,47,1,48,23,69,2,24,25,26,3,72,27,50,79,4,5,74,6,51,29,7,77,31,84,8,33,68,34,67,28,35,83,87,85,82,36,37,78,71,55,38,61,57,49,10,58,12,60,80,62,52,63,73,65,13,14,44,76,16,41,75,42,18,19,81,43,39,21,86,22,32,53,64,40,45,56,66,46,88,70,89,90],initi:[39,55,15,42,84],bound:[7,43,11,53,9,26,13,72,75],front:[51,15],from_str:20,lexicographical_compar:[19,17],revers:[41,49,48,36],separ:84,mode:30,each:[30,70,87,12,23],found:[67,1,58,61,63,87,45,74,28,85],compil:[30,59],adjacent_find:[87,17],domain:59,individu:30,madocchi:23,logn:[0,67,1,83,69,24,71,19,27,50,5,74,6,28,29,7,77,31,8,52,34,35,87,85,37,81,38,82,57,58,60,61,62,63,73,13,44,76,16,42,18,22,32,53,40,45,88,89,90],special:[20,54],out:[43,11,9,26,72,75],all_of_equ:[76,53,17],categori:59,typenam:[0,47,1,23,69,2,24,67,19,72,27,50,5,74,6,28,58,29,7,77,31,8,9,52,34,79,35,83,87,85,37,55,38,82,57,11,12,60,61,62,63,73,71,13,14,15,76,16,75,42,18,39,81,40,21,22,32,53,64,44,45,46,88,89,90],inputiter:[76,81,1,31,32,27,50,5,74,52,88,85,82],integr:[46,47,63],log2:[13,7,28,53],forwarditerator2:[61,45,58,83],forwarditerator1:[61,45,83],standard:59,base:[30,75,72],org:30,upper_bound:[13,53,17],length:59,string_to_float:20,one_of:[50,17],homuhomu:[35,14,72,23],assign:[15,78],tuple_s:[46,47,20,54],oper:[29,0,20,59,60,62,54,79,14,64,15,16,43,73,17],softwar:30,rang:[67,1,24,19,27,50,88,74,52,5,76,7,31,32,6,28,37,81,38,82,83,58,61,63,13,40,85,18,53,87,45,90],declval:[15,70],arrai:[0,47,1,40,23,69,2,24,25,57,26,3,27,50,79,4,5,74,6,51,48,29,7,77,31,84,8,9,33,68,34,67,28,83,87,85,82,36,37,78,71,55,38,61,54,49,10,58,12,59,60,80,62,52,63,73,65,13,15,76,16,41,75,42,18,19,81,43,39,21,86,22,32,53,64,44,45,56,66,88,70,89,90],number:[30,10,2,25,19,27,37,88],cinttyp:59,smaller:[24,34,42],max_el:[38,17],lexicograph:[0,60,62,19,16,37,17],size:[65,47,63,10,44,59,25,34,39,15,46,55,42],given:[83,67,90],rightmost:42,data:[86,15,4,59],licens:30,cstring:59,capac:15,construct:15,conveni:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,18,19,21,22,23,24,25,26,27,28,29,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,55,56,57,58,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90],store:59,to_hash:[35,89],darkroom:59,namespac:[0,47,1,48,23,69,2,24,25,26,3,72,27,50,79,4,5,74,6,51,58,29,7,77,31,84,8,9,33,68,34,67,28,35,83,87,85,82,36,37,78,71,81,38,61,57,49,10,11,12,60,80,62,63,73,65,13,14,44,76,16,41,75,42,18,19,43,52,86,22,32,53,64,40,45,56,66,46,88,70,89,90],copi:[30,44,21,34,15,64,42],specifi:[43,34,26,39,44,42],pars:[30,59],c_arrai:[86,15],first1:[83,67,58,61,19,45,37,90],first2:[83,67,58,61,19,45,37,90],exactli:[18,83,2,27,38,88,42,87],than:[0,1,32,60,62,63,19,45,85,16,37,50,5,81,42],std:[0,47,23,64,26,72,27,88,75,73,29,78,9,34,79,35,54,70,11,12,60,80,62,14,44,16,42,20,21,15,46,89],second:[67,24,42,53],structur:59,charact:20,project:30,posit:[67,1,48,24,26,72,74,33,7,53,75,36,56,58,61,63,13,40,85,18,43,6,87,45,38],to_wstr:20,rend:[15,36],argument:[83,67,34,39,44,55,42,90],rai:[30,59],have:[19,37],need:39,predic:[67,1,24,27,50,5,74,52,88,76,31,32,42,81,82,83,58,61,63,85,87,45,90],constexprrandomaccessiter:15,option:59,built:21,equival:[29,35,34,79,72,19,14,44,89,37,73,75,42],min:[18,67,24,34,19,87,42,37,90,38,17],greater_equ:22,destroi:15,note:[35,15,75,89,72],also:[28,53],without:[80,78],which:[30,67,1,40,27,88,74,6,85,87],equal_rang:[53,17],const_refer:[43,68,80,78,26,15,51],sprout_noexcept:[65,86,10,48,75,49,25,3,72,66,15,4,36,41,33,56],begin:[67,1,78,83,69,24,71,3,27,50,88,74,6,5,76,7,77,31,8,52,28,87,61,37,81,38,82,57,70,58,80,63,13,40,64,85,18,19,22,32,53,15,45,90],unless:[70,12,23],distribut:30,trace:[30,59],shall:[13,7,63,42,53],buffer:59,object:[39,59,55,21],size_typ:[43,15,10,25,26],pair:[67,53,24,19,37,42],crbegin:[49,15],"class":[20,59,79,14,15,54],accompani:30,binary_search:[28,17],random:[30,83,90,59],rbegin:[41,15],all_of:[32,17],find:[58,61,63,45,74,17],onli:[30,15,50,82],explicitli:39,copyright:30,swap_rang:70,get:[72,75],lower_bound:[53,7,17],make_str:20,express:[47,7,53,13,46,28],clang:30,range_adaptor:59,stoi:20,stod:20,none_of:[81,17],stof:20,is_sort:[57,8,69,71,22,17],requir:[83,72,7,11,53,9,2,34,79,63,13,14,44,75,28,42,90],synthes:[30,59],yield:[19,37],common:55,partit:[13,7,28,53],contain:[67,1,83,69,24,25,19,27,50,4,5,74,6,28,29,30,7,77,31,8,52,37,81,38,82,57,10,58,59,76,61,63,73,71,13,40,85,18,86,22,32,53,87,45,88,90],comma:84,where:[83,24,72,87,84,75,42],valid:[35,75,89,72],wiki:30,arr:21,set:58,minmax:[42,17],see:30,result:[67,1,83,69,2,24,71,19,27,50,5,74,6,28,76,7,77,31,8,52,34,87,85,37,81,38,82,57,58,61,63,13,44,42,18,22,32,53,40,45,88,90],arg:[39,55],hash_valu:[35,20,89,54],any_of_equ:[31,17],modulu:27,slideshar:30,less_equ:69,smallest:[34,42],neither:[19,37],paramet:39,numer:[20,59],comp:[18,13,7,77,40,8,2,24,34,19,53,44,42,37,6,28,38],typedef:15,cbegin:[15,33,66],constexpr:[30,44,34,42],type_trait:[9,11,59],preprocessor:59,randomaccessiter:[40,77],struct:[47,11,9,79,14,46],both:87,metaprogram:59,last:[1,48,68,69,24,71,27,50,88,74,52,5,76,7,77,31,8,6,28,36,81,38,82,57,61,63,13,40,85,18,22,32,53,87,56,33],delimit:37,ill:[9,72,75,11],equal:[29,76,31,58,53,60,61,62,63,83,87,45,82,90,88,74,52,73,17],range_algorithm:59,char_trait:20,bitset:59,static_s:15,stoumax:20,point:[30,2],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,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90],permut:83,is_permut:[83,17],respect:[13,7,28,53],minmax_el:[24,17],difference_typ:[88,15,27],stretch:20,empti:[65,76,31,32,61,24,19,15,45,82,37,50,5,81,52,58],unexpect:2,cend:15,remark:[39,67,43,83,2,34,19,44,84,37,55,42,90],ani:[18,13,7,31,61,63,19,45,37,5,38],assert:[80,70,78,12,23],sprout_noexcept_expr:[15,70,12,23],tuple_get:[72,75,20,54],"case":[80,78],u32str:20,ident:2,defin:[72,34,19,35,15,44,89,37,75,42],sprout_constexpr:[0,67,1,40,68,69,2,24,25,26,3,72,27,50,4,5,74,6,51,48,29,7,77,31,8,33,34,61,28,35,83,87,85,36,37,78,71,55,38,82,57,49,10,58,60,80,62,52,63,73,65,13,15,76,16,41,75,42,18,19,81,43,39,21,86,22,32,53,44,45,56,66,88,89,90],behavior:43,furthermost:[13,7],exist:83,invoc:[0,67,1,48,68,69,24,25,26,3,72,27,50,4,5,74,6,28,29,7,77,31,84,8,33,34,61,35,83,87,85,36,37,78,71,55,62,38,82,57,49,10,58,60,80,51,52,63,73,65,13,44,76,16,41,75,42,18,19,81,43,39,21,86,22,32,53,40,45,56,66,88,89,90],bolero:30,cwchar:59,floattyp:20,sever:[44,34,42],welcom:30,japanes:30,alphabet:59,murakami:30,same:[57,21,22,71,19,72,69,37,75],member:[14,15,20,79,54],binari:[28,17],complex:[0,67,1,48,23,69,2,24,25,26,3,72,27,50,4,5,74,6,51,29,7,77,31,84,8,33,68,34,61,28,35,83,87,85,36,37,78,71,55,38,82,57,49,10,58,12,59,60,80,62,52,63,73,65,13,44,76,16,41,75,42,18,19,81,43,39,21,86,22,32,53,40,45,56,66,88,70,89,90],largest:[44,42],document:30,http:30,effect:[58,12,23,80,70,63,61,45,64,78],weed:59,stoul:20,lower:[7,53],elem:15,is_heap:[77,17],exampl:[0,47,1,48,23,69,2,24,25,26,3,72,27,50,79,4,5,74,6,51,58,29,7,77,31,84,8,9,33,68,34,67,28,35,83,87,85,82,36,37,78,71,55,38,61,57,49,10,11,12,60,80,62,52,63,73,65,13,14,44,76,16,41,75,42,18,19,81,43,39,21,86,22,32,53,64,40,45,56,66,46,88,70,89,90],thi:[30,34,39,44,64,42],undefin:43,sprout_static_constexpr:[0,47,1,40,68,69,2,24,25,26,3,72,27,50,79,4,5,74,6,51,48,29,7,77,31,84,8,33,34,67,28,35,83,87,85,36,37,78,71,55,38,61,57,49,10,58,60,80,62,52,63,73,65,13,14,15,76,16,41,75,42,18,19,81,43,39,21,86,22,32,53,44,45,56,66,46,88,82,89,90],bit_oper:59,distanc:[83,24,6,40],less:[0,32,62,63,71,19,45,37,85],nan:2,license_1_0:30,float_to_str:20,is_strictly_increas:[69,17],float_to_string_exp:20,static_assert:[0,47,1,48,68,69,2,24,25,26,3,72,27,50,79,4,5,74,6,51,58,29,7,77,31,8,9,33,34,67,28,35,83,87,85,36,37,78,71,55,38,61,57,49,10,11,60,80,62,52,63,73,65,13,14,44,76,16,41,75,42,18,19,81,43,39,21,86,22,32,53,40,45,56,66,46,88,82,89,90],miscellan:59,size_t:[29,0,47,11,12,21,9,35,62,23,79,60,72,14,15,16,46,73,75,89],except:[70,12,23],blog:30,exposit:15,input:[1,48,68,69,2,24,25,26,3,72,27,50,4,5,74,6,28,76,7,77,31,32,33,34,79,35,87,85,36,81,38,82,57,49,10,71,51,65,13,14,44,84,41,75,42,18,86,43,52,22,8,53,40,56,66,88,89],adl:[35,75,89,72],subsequ:[61,45,63],match:58,applic:[67,1,24,19,27,50,5,74,52,88,76,31,32,85,37,81,38,82,83,58,61,63,42,18,87,45,90],wstring:20,is_increas:[71,17],recurs:[0,67,1,48,68,69,24,25,26,3,72,27,50,4,5,74,6,28,29,7,77,31,84,8,33,34,61,35,83,87,85,36,37,78,71,55,62,38,82,57,49,10,58,60,80,51,52,63,73,65,13,44,76,16,41,75,42,18,19,81,43,39,21,86,22,32,53,40,45,56,66,88,89,90],insert:20,like:59,specif:59,integ:[61,45,63],noth:[70,12,23],page:30,www:30,twitter:30,linux:30,some:58,back:[86,15,4,68],last1:[83,67,58,61,19,45,37,90],last2:[83,67,58,61,19,45,37,90],sizeof:[39,55],make_pair:[24,53],librari:[30,59],common_decai:55,mathemat:59,const_point:[86,15,4],nonempti:87,condit:[18,67,7,1,58,61,2,63,13,27,45,85,90,88,74,28,38,87],leftmost:[44,34,42],content:[29,0,30,60,62,16,73],refer:[43,68,24,26,72,15,51,75],ration:59,stoimax:20,index_tupl:59,repositori:30,lessthancompar:[2,44,34,42],sprout_assert_msg:[80,70,78,12,23],"throw":[26,70,12,23],comparison:[18,0,7,20,53,60,2,29,19,37,42,16,13,73,54,62,28,38,17],most:[67,1,24,19,50,5,74,52,28,76,7,31,32,85,37,81,82,58,61,63,13,42,53,45,90],delim1:37,delim2:37,find_first_of:[58,17],includ:[0,47,1,48,23,69,2,24,25,26,3,72,27,50,79,4,5,74,6,51,58,29,7,77,31,84,8,9,33,68,34,67,28,35,83,87,85,82,36,37,78,71,55,38,61,57,49,10,11,12,60,80,62,52,63,73,65,13,14,44,76,16,41,75,42,18,19,81,43,39,21,86,22,32,53,64,40,45,56,66,46,88,70,89,90],ptrdiff_t:15,string_to_int:20,search_n:[63,17],any_of:[5,17],clamp:[2,17],"float":2,fill_n:[80,78],forwarditer:[18,57,7,8,22,24,63,71,13,53,87,69,6,28,38],cstdlib:59,u16str:20,support:[30,20,59,34,44,54,42],transform:37,out_of_rang:26,start:30,compliant:59,interfac:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,18,19,20,21,22,23,24,25,26,27,28,29,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,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,85,86,87,88,89,90],low:2,strictli:[22,69],const_reverse_iter:[49,41,15,48,36],"function":[0,67,1,40,57,69,24,25,26,3,72,27,50,4,5,74,6,51,48,29,78,7,77,31,84,8,33,68,34,79,28,35,83,87,85,36,37,43,71,55,38,61,54,49,10,58,59,60,80,62,52,63,73,65,13,14,15,76,16,41,75,42,17,18,19,81,20,39,21,86,22,32,53,44,45,56,66,88,82,89,90],form:[9,72,75,11],tupl:[47,20,11,59,9,72,54,46,75,89],is_sam:[9,11],link:30,heap:[40,77,17],inlin:[0,67,1,23,69,2,24,71,19,72,27,50,5,74,6,28,29,7,77,31,8,52,34,35,83,87,85,37,55,38,82,57,58,12,60,61,62,63,73,13,44,76,16,75,42,18,39,81,21,22,32,53,40,45,88,89,90],"true":[29,0,90,31,32,60,62,73,19,65,83,76,50,16,5,81,52,28,82],count:[88,27,63,17],concaten:20,wise:70,maximum:17,is_decreas:[57,17],below:[83,67,90],extractor:20,crend:[15,48],otherwis:[0,83,2,24,19,50,73,52,5,29,31,32,6,37,81,82,76,60,62,40,16,42,65,45,90],constant:[47,48,68,49,25,26,3,72,4,51,33,78,75,36,55,56,10,80,39,15,84,41,65,86,43,21,66,46],sub_arrai:59,"int":[0,47,1,48,68,69,2,24,25,26,3,27,50,79,4,5,74,6,51,29,7,77,31,84,8,9,33,34,67,28,83,87,85,82,36,37,78,71,81,38,61,57,49,10,58,12,60,80,62,52,63,73,65,13,44,76,16,41,75,42,18,19,43,39,21,86,22,32,53,64,40,45,56,66,88,70,89,90],to_arrai:[54,21],matafunct:[20,54],"char":11,decreas:[22,57],file:30,adjac:87,pit:59,fill:[80,15,78],denot:[83,67,90],copyconstruct:[44,34,42],floor:24,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,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,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90],when:[44,34,42],other:[19,30,37,87],bool:[0,83,69,71,19,50,73,76,5,29,77,31,8,52,28,81,82,57,60,62,15,16,65,22,32,90],trait:[20,11,14,23,72,35,46],shrink:20,sequenc:[59,61,63,19,45,37,17],stoull:20,max_siz:[15,10],to_u32str:20,longer:[19,37],algorithm:[67,1,83,69,2,24,71,19,27,50,5,74,6,28,76,30,7,77,31,8,52,34,87,85,54,37,81,38,82,57,58,59,61,63,13,44,42,17,18,20,22,32,53,40,45,88,90],reverse_iter:[41,15,36],directori:30,descript:[30,20,79,14,15,54],to_str:20,depth:[0,67,1,48,68,69,24,25,26,3,72,27,50,4,5,74,6,28,29,7,77,31,84,8,33,34,61,35,83,87,85,36,37,78,71,55,62,38,82,57,49,10,58,60,80,51,52,63,73,65,13,44,76,16,41,75,42,18,19,81,43,39,21,86,22,32,53,40,45,56,66,88,89,90],time:59,convert:[15,63,84]},objtypes:{},titles:["operator<","find_if","clamp","begin","back","any_of","is_sorted_until","lower_bound","is_sorted","std::tuple_element","max_size","std::tuple_element","swap","upper_bound","std::hash","array","operator>","Sprout.Algorithm","min_element","lexicographical_compare","Sprout.String","to_array","is_strictly_decreasing","swap","minmax_element","size","at","count_if","binary_search","operator!=","Sprout C++ Libraries","any_of_equal","all_of","cbegin","min","hash_value","rend","tristate_lexicographical_compare","max_element","make_array","is_heap_until","rbegin","minmax","operator[]","max","search","std::tuple_size","std::tuple_size","crend","crbegin","one_of","front","none_of_equal","equal_range","Sprout.Array","make_common_array","end","is_decreasing","find_first_of","Libraries","operator>=","find_end","operator<=","search_n","operator=","empty","cbegin","mismatch","back","is_strictly_increasing","swap","is_increasing","tuple_get","operator==","find","tuple_get","all_of_equal","is_heap","assign","std::hash","fill","none_of","one_of_equal","is_permutation","(initializer)","find_if_not","back","adjacent_find","count","hash_value","equal"],objnames:{},filenames:["libs/array/array/operator-less","libs/algorithm/find_if","libs/algorithm/clamp","libs/array/array/begin","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/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/algorithm/index","libs/algorithm/min_element","libs/algorithm/lexicographical_compare","libs/string/index","libs/array/to_array","libs/algorithm/is_strictly_decreasing","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/array/array/rend","libs/algorithm/tristate_lexicographical_compare","libs/algorithm/max_element","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/array/array/std-tuple_size","libs/array/array/crend","libs/array/array/crbegin","libs/algorithm/one_of","libs/array/array/front","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/algorithm/find_first_of","libs/index","libs/array/array/operator-greater_equal","libs/algorithm/find_end","libs/array/array/operator-less_equal","libs/algorithm/search_n","libs/array/array/operator-assign","libs/array/array/empty","libs/array/array/cbegin","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/array/array/operator-equal_to","libs/algorithm/find","libs/array/array/tuple_get","libs/algorithm/all_of_equal","libs/algorithm/is_heap","libs/array/array/assign","libs/array/array/std-hash","libs/array/array/fill","libs/algorithm/none_of","libs/algorithm/one_of_equal","libs/algorithm/is_permutation","libs/array/array/initializer-","libs/algorithm/find_if_not","libs/array/array/c_array","libs/algorithm/adjacent_find","libs/algorithm/count","libs/array/array/hash_value","libs/algorithm/equal"]}) \ No newline at end of file diff --git a/source/libs/string/basic_string/hash_value.rst b/source/libs/string/basic_string/hash_value.rst new file mode 100644 index 00000000..3a97578e --- /dev/null +++ b/source/libs/string/basic_string/hash_value.rst @@ -0,0 +1,47 @@ +.. _sprout-string-basic_string-hash_value: +############################################################################### +hash_value +############################################################################### + +Interface +======================================== +.. sourcecode:: c++ + + template + inline SPROUT_CONSTEXPR std::size_t + hash_value(sprout::basic_string const& v); + +Returns +======================================== + +| Equivalent to ``sprout::hash_range(v)``. + +Notes +======================================== + +| ``sprout::to_hash(v)`` is a valid call, because ``hash_value(v)`` ADL callable is defined. + +Examples +======================================== +.. sourcecode:: c++ + + #include + using namespace sprout; + + using type = string<8>; + SPROUT_STATIC_CONSTEXPR auto input = type("homuhomu"); + SPROUT_STATIC_CONSTEXPR auto h = sprout::to_hash(input); + static_assert(h, "hash value generated from string."); + +Complexity +======================================== + +| linear in N. +| Recursive function invocations in *O(logN)* (logarithmic) depth. + +Header +======================================== + +| ``sprout/string/hash.hpp`` +| Convenience header: ``sprout/string.hpp`` + diff --git a/source/libs/string/basic_string/std-hash.rst b/source/libs/string/basic_string/std-hash.rst new file mode 100644 index 00000000..1dca628a --- /dev/null +++ b/source/libs/string/basic_string/std-hash.rst @@ -0,0 +1,46 @@ +.. _sprout-string-basic_string-std-hash: +############################################################################### +std::hash +############################################################################### + +Interface +======================================== +.. sourcecode:: c++ + + namespace std { + template + struct hash >; + } + +Description +======================================== + +| Meet the requirements of class template hash. + +Member functions +---------------------------------------- + +======================================== =============================================================================== +function definition +======================================== =============================================================================== +operator() Equivalent to ``sprout::hash_range(v)``. +======================================== =============================================================================== + +Examples +======================================== +.. sourcecode:: c++ + + #include + using namespace sprout; + + using type = string<8>; + SPROUT_STATIC_CONSTEXPR auto input = type("homuhomu"); + SPROUT_STATIC_CONSTEXPR auto h = std::hash()(input); + static_assert(h, "hash value generated from string."); + +Header +======================================== + +| ``sprout/string/hash.hpp`` +| Convenience header: ``sprout/string.hpp`` + diff --git a/source/libs/string/basic_string/std-tuple_element.rst b/source/libs/string/basic_string/std-tuple_element.rst new file mode 100644 index 00000000..1e8e52e2 --- /dev/null +++ b/source/libs/string/basic_string/std-tuple_element.rst @@ -0,0 +1,45 @@ +.. _sprout-string-basic_string-std-tuple_element: +############################################################################### +std::tuple_element +############################################################################### + +Interface +======================================== +.. sourcecode:: c++ + + namespace std { + template + struct tuple_element >; + } + + // syntax + std::tuple_element >::type + +Requires +======================================== + +| ``I < N``. The program is ill-formed if I is out of bounds. + +Value +======================================== + +| The type T. + +Examples +======================================== +.. sourcecode:: c++ + + #include + #include + using namespace sprout; + + using type = string<8>; + using element_type = std::tuple_element<0, type>::type; + static_assert(std::is_same::value, "tuple element type of string is char."); + +Header +======================================== + +| ``sprout/string/tuple.hpp`` +| Convenience header: ``sprout/string.hpp`` + diff --git a/source/libs/string/basic_string/std-tuple_size.rst b/source/libs/string/basic_string/std-tuple_size.rst new file mode 100644 index 00000000..8fb06baf --- /dev/null +++ b/source/libs/string/basic_string/std-tuple_size.rst @@ -0,0 +1,44 @@ +.. _sprout-string-basic_string-std-tuple_size: +############################################################################### +std::tuple_size +############################################################################### + +Interface +======================================== +.. sourcecode:: c++ + + namespace std { + template + struct tuple_size >; + } + + // syntax + std::tuple_size >::value + +Return type +======================================== + +| integral constant expression. + +Value +======================================== + +| N. + +Examples +======================================== +.. sourcecode:: c++ + + #include + using namespace sprout; + + using type = string<8>; + SPROUT_STATIC_CONSTEXPR auto size = std::tuple_size::value; + static_assert(size == 8, "tuple size of string is 8."); + +Header +======================================== + +| ``sprout/string/tuple.hpp`` +| Convenience header: ``sprout/string.hpp`` + diff --git a/source/libs/string/basic_string/swap-global.rst b/source/libs/string/basic_string/swap-global.rst new file mode 100644 index 00000000..16bb94b6 --- /dev/null +++ b/source/libs/string/basic_string/swap-global.rst @@ -0,0 +1,48 @@ +.. _sprout-string-basic_string-swap-global: +############################################################################### +swap +############################################################################### + +Interface +======================================== +.. sourcecode:: c++ + + template + inline void + swap(sprout::basic_string& lhs, sprout::basic_string& rhs) + SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(lhs.swap(rhs))); + +Effects +======================================== + +| ``lhs.swap(rhs)``. + +Throws +======================================== + +| Nothing unless ``lhs.swap(rhs)`` throws an exception. + +Examples +======================================== +.. sourcecode:: c++ + + #include + #include + using namespace sprout; + + auto x = string<8>("homuhomu"); + auto y = string<8>("madocchi"); + swap(x, y); + SPROUT_ASSERT_MSG(x == "madocchi" && y == "homuhomu", "each element are swapped."); + +Complexity +======================================== + +| linear in N. + +Header +======================================== + +| ``sprout/string/array.hpp`` +| Convenience header: ``sprout/string.hpp`` + diff --git a/source/libs/string/basic_string/tuple_get.rst b/source/libs/string/basic_string/tuple_get.rst new file mode 100644 index 00000000..273631a7 --- /dev/null +++ b/source/libs/string/basic_string/tuple_get.rst @@ -0,0 +1,61 @@ +.. _sprout-string-basic_string-tuple_get: +############################################################################### +tuple_get +############################################################################### + +Interface +======================================== +.. sourcecode:: c++ + + template + inline SPROUT_CONSTEXPR T& + tuple_get(sprout::basic_string& t) SPROUT_NOEXCEPT; + + template + inline SPROUT_CONSTEXPR T const& + tuple_get(sprout::basic_string const& t) SPROUT_NOEXCEPT; + + template + inline SPROUT_CONSTEXPR T&& + tuple_get(sprout::basic_string&& t) SPROUT_NOEXCEPT; + +Requires +======================================== + +| ``I < N``. The program is ill-formed if I is out of bounds. + +Returns +======================================== + +| A reference to the Ith element of a, where indexing is zero-based. +| or +| A const reference to the Ith element of a, where indexing is zero-based. +| or +| Equivalent to ``return move(tuple_get(t));`` + +Notes +======================================== + +| ``sprout::get(t)`` (same as sprout::tuples::get) is a valid call, because ``tuple_get(t)`` ADL callable is defined. + +Examples +======================================== +.. sourcecode:: c++ + + #include + using namespace sprout; + + SPROUT_STATIC_CONSTEXPR auto input = string<8>("homuhomu"); + static_assert(sprout::get<4>(input) == 'h', "an element at position 4 is h."); + +Complexity +======================================== + +| Recursive function invocations in *O(1)* (constant) depth. + +Header +======================================== + +| ``sprout/string/tuple.hpp`` +| Convenience header: ``sprout/string.hpp`` + diff --git a/source/libs/string/index.rst b/source/libs/string/index.rst index 86da92cd..01c24a9e 100644 --- a/source/libs/string/index.rst +++ b/source/libs/string/index.rst @@ -6,13 +6,17 @@ Sprout.String .. toctree:: :hidden: + basic_string/swap-global + basic_string/std-tuple_size + basic_string/std-tuple_element + basic_string/tuple_get + basic_string/std-hash + basic_string/hash_value + Description ======================================== Character traits -**************************************** - -Classes ---------------------------------------- ======================================== =============================================================================== @@ -22,9 +26,6 @@ class ======================================== =============================================================================== String classes -**************************************** - -Classes ---------------------------------------- ============================================================ ===============================================================================