mirror of
https://github.com/bolero-MURAKAMI/Sprout.git
synced 2025-01-23 20:46:37 +00:00
fix string_ref
This commit is contained in:
parent
2e0bc89188
commit
84376c3f69
64 changed files with 204 additions and 128 deletions
|
@ -9,7 +9,7 @@
|
||||||
#include <sprout/algorithm/fit/result_of.hpp>
|
#include <sprout/algorithm/fit/result_of.hpp>
|
||||||
#include <sprout/sub_array/sub_array.hpp>
|
#include <sprout/sub_array/sub_array.hpp>
|
||||||
#include <sprout/sub_array/sub.hpp>
|
#include <sprout/sub_array/sub.hpp>
|
||||||
#include HDR_ALGORITHM_SSCRISK_CEL_OR_SPROUT
|
#include HDR_ALGORITHM_MIN_MAX_SSCRISK_CEL_OR_SPROUT
|
||||||
#include <sprout/iterator/type_traits/is_iterator.hpp>
|
#include <sprout/iterator/type_traits/is_iterator.hpp>
|
||||||
|
|
||||||
namespace sprout {
|
namespace sprout {
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
#include <sprout/algorithm/fit/result_of.hpp>
|
#include <sprout/algorithm/fit/result_of.hpp>
|
||||||
#include <sprout/sub_array/sub_array.hpp>
|
#include <sprout/sub_array/sub_array.hpp>
|
||||||
#include <sprout/sub_array/sub.hpp>
|
#include <sprout/sub_array/sub.hpp>
|
||||||
#include HDR_ALGORITHM_SSCRISK_CEL_OR_SPROUT
|
#include HDR_ALGORITHM_MIN_MAX_SSCRISK_CEL_OR_SPROUT
|
||||||
#include <sprout/iterator/type_traits/is_iterator.hpp>
|
#include <sprout/iterator/type_traits/is_iterator.hpp>
|
||||||
|
|
||||||
namespace sprout {
|
namespace sprout {
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
#include <sprout/algorithm/fit/result_of.hpp>
|
#include <sprout/algorithm/fit/result_of.hpp>
|
||||||
#include <sprout/sub_array/sub_array.hpp>
|
#include <sprout/sub_array/sub_array.hpp>
|
||||||
#include <sprout/sub_array/sub.hpp>
|
#include <sprout/sub_array/sub.hpp>
|
||||||
#include HDR_ALGORITHM_SSCRISK_CEL_OR_SPROUT
|
#include HDR_ALGORITHM_MIN_MAX_SSCRISK_CEL_OR_SPROUT
|
||||||
|
|
||||||
namespace sprout {
|
namespace sprout {
|
||||||
namespace fit {
|
namespace fit {
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
#include <sprout/algorithm/fit/result_of.hpp>
|
#include <sprout/algorithm/fit/result_of.hpp>
|
||||||
#include <sprout/sub_array/sub_array.hpp>
|
#include <sprout/sub_array/sub_array.hpp>
|
||||||
#include <sprout/sub_array/sub.hpp>
|
#include <sprout/sub_array/sub.hpp>
|
||||||
#include HDR_ALGORITHM_SSCRISK_CEL_OR_SPROUT
|
#include HDR_ALGORITHM_MIN_MAX_SSCRISK_CEL_OR_SPROUT
|
||||||
#include <sprout/iterator/type_traits/is_iterator.hpp>
|
#include <sprout/iterator/type_traits/is_iterator.hpp>
|
||||||
|
|
||||||
namespace sprout {
|
namespace sprout {
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
#include <sprout/algorithm/fit/result_of.hpp>
|
#include <sprout/algorithm/fit/result_of.hpp>
|
||||||
#include <sprout/sub_array/sub_array.hpp>
|
#include <sprout/sub_array/sub_array.hpp>
|
||||||
#include <sprout/sub_array/sub.hpp>
|
#include <sprout/sub_array/sub.hpp>
|
||||||
#include HDR_ALGORITHM_SSCRISK_CEL_OR_SPROUT
|
#include HDR_ALGORITHM_MIN_MAX_SSCRISK_CEL_OR_SPROUT
|
||||||
|
|
||||||
namespace sprout {
|
namespace sprout {
|
||||||
namespace fit {
|
namespace fit {
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
#include <sprout/algorithm/find_if.hpp>
|
#include <sprout/algorithm/find_if.hpp>
|
||||||
#include <sprout/sub_array/sub_array.hpp>
|
#include <sprout/sub_array/sub_array.hpp>
|
||||||
#include <sprout/sub_array/sub.hpp>
|
#include <sprout/sub_array/sub.hpp>
|
||||||
#include HDR_ALGORITHM_SSCRISK_CEL_OR_SPROUT
|
#include HDR_ALGORITHM_MIN_MAX_SSCRISK_CEL_OR_SPROUT
|
||||||
#include <sprout/iterator/type_traits/is_iterator.hpp>
|
#include <sprout/iterator/type_traits/is_iterator.hpp>
|
||||||
|
|
||||||
namespace sprout {
|
namespace sprout {
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
#include <sprout/algorithm/find_if_not.hpp>
|
#include <sprout/algorithm/find_if_not.hpp>
|
||||||
#include <sprout/sub_array/sub_array.hpp>
|
#include <sprout/sub_array/sub_array.hpp>
|
||||||
#include <sprout/sub_array/sub.hpp>
|
#include <sprout/sub_array/sub.hpp>
|
||||||
#include HDR_ALGORITHM_SSCRISK_CEL_OR_SPROUT
|
#include HDR_ALGORITHM_MIN_MAX_SSCRISK_CEL_OR_SPROUT
|
||||||
#include <sprout/iterator/type_traits/is_iterator.hpp>
|
#include <sprout/iterator/type_traits/is_iterator.hpp>
|
||||||
|
|
||||||
namespace sprout {
|
namespace sprout {
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
#include <sprout/algorithm/fit/result_of.hpp>
|
#include <sprout/algorithm/fit/result_of.hpp>
|
||||||
#include <sprout/sub_array/sub_array.hpp>
|
#include <sprout/sub_array/sub_array.hpp>
|
||||||
#include <sprout/sub_array/sub.hpp>
|
#include <sprout/sub_array/sub.hpp>
|
||||||
#include HDR_ALGORITHM_SSCRISK_CEL_OR_SPROUT
|
#include HDR_ALGORITHM_MIN_MAX_SSCRISK_CEL_OR_SPROUT
|
||||||
|
|
||||||
namespace sprout {
|
namespace sprout {
|
||||||
namespace fit {
|
namespace fit {
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
#include <sprout/algorithm/fit/result_of.hpp>
|
#include <sprout/algorithm/fit/result_of.hpp>
|
||||||
#include <sprout/sub_array/sub_array.hpp>
|
#include <sprout/sub_array/sub_array.hpp>
|
||||||
#include <sprout/sub_array/sub.hpp>
|
#include <sprout/sub_array/sub.hpp>
|
||||||
#include HDR_ALGORITHM_SSCRISK_CEL_OR_SPROUT
|
#include HDR_ALGORITHM_MIN_MAX_SSCRISK_CEL_OR_SPROUT
|
||||||
|
|
||||||
namespace sprout {
|
namespace sprout {
|
||||||
namespace fit {
|
namespace fit {
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
#include <sprout/algorithm/fit/result_of.hpp>
|
#include <sprout/algorithm/fit/result_of.hpp>
|
||||||
#include <sprout/sub_array/sub_array.hpp>
|
#include <sprout/sub_array/sub_array.hpp>
|
||||||
#include <sprout/sub_array/sub.hpp>
|
#include <sprout/sub_array/sub.hpp>
|
||||||
#include HDR_ALGORITHM_SSCRISK_CEL_OR_SPROUT
|
#include HDR_ALGORITHM_MIN_MAX_SSCRISK_CEL_OR_SPROUT
|
||||||
#include <sprout/iterator/type_traits/is_iterator.hpp>
|
#include <sprout/iterator/type_traits/is_iterator.hpp>
|
||||||
|
|
||||||
namespace sprout {
|
namespace sprout {
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
#include <sprout/algorithm/fit/result_of.hpp>
|
#include <sprout/algorithm/fit/result_of.hpp>
|
||||||
#include <sprout/sub_array/sub_array.hpp>
|
#include <sprout/sub_array/sub_array.hpp>
|
||||||
#include <sprout/sub_array/sub.hpp>
|
#include <sprout/sub_array/sub.hpp>
|
||||||
#include HDR_ALGORITHM_SSCRISK_CEL_OR_SPROUT
|
#include HDR_ALGORITHM_MIN_MAX_SSCRISK_CEL_OR_SPROUT
|
||||||
|
|
||||||
namespace sprout {
|
namespace sprout {
|
||||||
namespace fit {
|
namespace fit {
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
#include <sprout/sub_array/sub_array.hpp>
|
#include <sprout/sub_array/sub_array.hpp>
|
||||||
#include <sprout/sub_array/sub.hpp>
|
#include <sprout/sub_array/sub.hpp>
|
||||||
#include <sprout/detail/algorithm/count_n_if.hpp>
|
#include <sprout/detail/algorithm/count_n_if.hpp>
|
||||||
#include HDR_ALGORITHM_SSCRISK_CEL_OR_SPROUT
|
#include HDR_ALGORITHM_MIN_MAX_SSCRISK_CEL_OR_SPROUT
|
||||||
#include HDR_FUNCTIONAL_SSCRISK_CEL_OR_SPROUT
|
#include HDR_FUNCTIONAL_SSCRISK_CEL_OR_SPROUT
|
||||||
#include <sprout/iterator/type_traits/is_iterator.hpp>
|
#include <sprout/iterator/type_traits/is_iterator.hpp>
|
||||||
|
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
#include <sprout/algorithm/fit/result_of.hpp>
|
#include <sprout/algorithm/fit/result_of.hpp>
|
||||||
#include <sprout/sub_array/sub_array.hpp>
|
#include <sprout/sub_array/sub_array.hpp>
|
||||||
#include <sprout/sub_array/sub.hpp>
|
#include <sprout/sub_array/sub.hpp>
|
||||||
#include HDR_ALGORITHM_SSCRISK_CEL_OR_SPROUT
|
#include HDR_ALGORITHM_MIN_MAX_SSCRISK_CEL_OR_SPROUT
|
||||||
|
|
||||||
namespace sprout {
|
namespace sprout {
|
||||||
namespace fit {
|
namespace fit {
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
#include <sprout/algorithm/fit/result_of.hpp>
|
#include <sprout/algorithm/fit/result_of.hpp>
|
||||||
#include <sprout/sub_array/sub_array.hpp>
|
#include <sprout/sub_array/sub_array.hpp>
|
||||||
#include <sprout/sub_array/sub.hpp>
|
#include <sprout/sub_array/sub.hpp>
|
||||||
#include HDR_ALGORITHM_SSCRISK_CEL_OR_SPROUT
|
#include HDR_ALGORITHM_MIN_MAX_SSCRISK_CEL_OR_SPROUT
|
||||||
|
|
||||||
namespace sprout {
|
namespace sprout {
|
||||||
namespace fit {
|
namespace fit {
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
#include <sprout/algorithm/fit/result_of.hpp>
|
#include <sprout/algorithm/fit/result_of.hpp>
|
||||||
#include <sprout/sub_array/sub_array.hpp>
|
#include <sprout/sub_array/sub_array.hpp>
|
||||||
#include <sprout/sub_array/sub.hpp>
|
#include <sprout/sub_array/sub.hpp>
|
||||||
#include HDR_ALGORITHM_SSCRISK_CEL_OR_SPROUT
|
#include HDR_ALGORITHM_MIN_MAX_SSCRISK_CEL_OR_SPROUT
|
||||||
#include <sprout/iterator/type_traits/is_iterator.hpp>
|
#include <sprout/iterator/type_traits/is_iterator.hpp>
|
||||||
|
|
||||||
namespace sprout {
|
namespace sprout {
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
#include <sprout/algorithm/fit/result_of.hpp>
|
#include <sprout/algorithm/fit/result_of.hpp>
|
||||||
#include <sprout/sub_array/sub_array.hpp>
|
#include <sprout/sub_array/sub_array.hpp>
|
||||||
#include <sprout/sub_array/sub.hpp>
|
#include <sprout/sub_array/sub.hpp>
|
||||||
#include HDR_ALGORITHM_SSCRISK_CEL_OR_SPROUT
|
#include HDR_ALGORITHM_MIN_MAX_SSCRISK_CEL_OR_SPROUT
|
||||||
#include <sprout/iterator/type_traits/is_iterator.hpp>
|
#include <sprout/iterator/type_traits/is_iterator.hpp>
|
||||||
|
|
||||||
namespace sprout {
|
namespace sprout {
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
#include <sprout/algorithm/fit/result_of.hpp>
|
#include <sprout/algorithm/fit/result_of.hpp>
|
||||||
#include <sprout/sub_array/sub_array.hpp>
|
#include <sprout/sub_array/sub_array.hpp>
|
||||||
#include <sprout/sub_array/sub.hpp>
|
#include <sprout/sub_array/sub.hpp>
|
||||||
#include HDR_ALGORITHM_SSCRISK_CEL_OR_SPROUT
|
#include HDR_ALGORITHM_MIN_MAX_SSCRISK_CEL_OR_SPROUT
|
||||||
|
|
||||||
namespace sprout {
|
namespace sprout {
|
||||||
namespace fit {
|
namespace fit {
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
#include <sprout/algorithm/fit/result_of.hpp>
|
#include <sprout/algorithm/fit/result_of.hpp>
|
||||||
#include <sprout/sub_array/sub_array.hpp>
|
#include <sprout/sub_array/sub_array.hpp>
|
||||||
#include <sprout/sub_array/sub.hpp>
|
#include <sprout/sub_array/sub.hpp>
|
||||||
#include HDR_ALGORITHM_SSCRISK_CEL_OR_SPROUT
|
#include HDR_ALGORITHM_MIN_MAX_SSCRISK_CEL_OR_SPROUT
|
||||||
#include <sprout/iterator/type_traits/is_iterator.hpp>
|
#include <sprout/iterator/type_traits/is_iterator.hpp>
|
||||||
|
|
||||||
namespace sprout {
|
namespace sprout {
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
#include <sprout/algorithm/fit/result_of.hpp>
|
#include <sprout/algorithm/fit/result_of.hpp>
|
||||||
#include <sprout/sub_array/sub_array.hpp>
|
#include <sprout/sub_array/sub_array.hpp>
|
||||||
#include <sprout/sub_array/sub.hpp>
|
#include <sprout/sub_array/sub.hpp>
|
||||||
#include HDR_ALGORITHM_SSCRISK_CEL_OR_SPROUT
|
#include HDR_ALGORITHM_MIN_MAX_SSCRISK_CEL_OR_SPROUT
|
||||||
#include <sprout/iterator/type_traits/is_iterator.hpp>
|
#include <sprout/iterator/type_traits/is_iterator.hpp>
|
||||||
|
|
||||||
namespace sprout {
|
namespace sprout {
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
#include <sprout/algorithm/fit/result_of.hpp>
|
#include <sprout/algorithm/fit/result_of.hpp>
|
||||||
#include <sprout/sub_array/sub_array.hpp>
|
#include <sprout/sub_array/sub_array.hpp>
|
||||||
#include <sprout/sub_array/sub.hpp>
|
#include <sprout/sub_array/sub.hpp>
|
||||||
#include HDR_ALGORITHM_SSCRISK_CEL_OR_SPROUT
|
#include HDR_ALGORITHM_MIN_MAX_SSCRISK_CEL_OR_SPROUT
|
||||||
|
|
||||||
namespace sprout {
|
namespace sprout {
|
||||||
namespace fit {
|
namespace fit {
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
#include <sprout/algorithm/fit/result_of.hpp>
|
#include <sprout/algorithm/fit/result_of.hpp>
|
||||||
#include <sprout/sub_array/sub_array.hpp>
|
#include <sprout/sub_array/sub_array.hpp>
|
||||||
#include <sprout/sub_array/sub.hpp>
|
#include <sprout/sub_array/sub.hpp>
|
||||||
#include HDR_ALGORITHM_SSCRISK_CEL_OR_SPROUT
|
#include HDR_ALGORITHM_MIN_MAX_SSCRISK_CEL_OR_SPROUT
|
||||||
|
|
||||||
namespace sprout {
|
namespace sprout {
|
||||||
namespace fit {
|
namespace fit {
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
#include <sprout/sub_array/sub_array.hpp>
|
#include <sprout/sub_array/sub_array.hpp>
|
||||||
#include <sprout/sub_array/sub.hpp>
|
#include <sprout/sub_array/sub.hpp>
|
||||||
#include <sprout/detail/algorithm/set_overlap_count.hpp>
|
#include <sprout/detail/algorithm/set_overlap_count.hpp>
|
||||||
#include HDR_ALGORITHM_SSCRISK_CEL_OR_SPROUT
|
#include HDR_ALGORITHM_MIN_MAX_SSCRISK_CEL_OR_SPROUT
|
||||||
#include <sprout/iterator/type_traits/is_iterator.hpp>
|
#include <sprout/iterator/type_traits/is_iterator.hpp>
|
||||||
|
|
||||||
namespace sprout {
|
namespace sprout {
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
#include <sprout/sub_array/sub_array.hpp>
|
#include <sprout/sub_array/sub_array.hpp>
|
||||||
#include <sprout/sub_array/sub.hpp>
|
#include <sprout/sub_array/sub.hpp>
|
||||||
#include <sprout/detail/algorithm/set_overlap_count.hpp>
|
#include <sprout/detail/algorithm/set_overlap_count.hpp>
|
||||||
#include HDR_ALGORITHM_SSCRISK_CEL_OR_SPROUT
|
#include HDR_ALGORITHM_MIN_MAX_SSCRISK_CEL_OR_SPROUT
|
||||||
#include <sprout/iterator/type_traits/is_iterator.hpp>
|
#include <sprout/iterator/type_traits/is_iterator.hpp>
|
||||||
|
|
||||||
namespace sprout {
|
namespace sprout {
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
#include <sprout/sub_array/sub_array.hpp>
|
#include <sprout/sub_array/sub_array.hpp>
|
||||||
#include <sprout/sub_array/sub.hpp>
|
#include <sprout/sub_array/sub.hpp>
|
||||||
#include <sprout/detail/algorithm/set_overlap_count.hpp>
|
#include <sprout/detail/algorithm/set_overlap_count.hpp>
|
||||||
#include HDR_ALGORITHM_SSCRISK_CEL_OR_SPROUT
|
#include HDR_ALGORITHM_MIN_MAX_SSCRISK_CEL_OR_SPROUT
|
||||||
#include <sprout/iterator/type_traits/is_iterator.hpp>
|
#include <sprout/iterator/type_traits/is_iterator.hpp>
|
||||||
|
|
||||||
namespace sprout {
|
namespace sprout {
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
#include <sprout/sub_array/sub_array.hpp>
|
#include <sprout/sub_array/sub_array.hpp>
|
||||||
#include <sprout/sub_array/sub.hpp>
|
#include <sprout/sub_array/sub.hpp>
|
||||||
#include <sprout/detail/algorithm/set_overlap_count.hpp>
|
#include <sprout/detail/algorithm/set_overlap_count.hpp>
|
||||||
#include HDR_ALGORITHM_SSCRISK_CEL_OR_SPROUT
|
#include HDR_ALGORITHM_MIN_MAX_SSCRISK_CEL_OR_SPROUT
|
||||||
#include <sprout/iterator/type_traits/is_iterator.hpp>
|
#include <sprout/iterator/type_traits/is_iterator.hpp>
|
||||||
|
|
||||||
namespace sprout {
|
namespace sprout {
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
#include <sprout/algorithm/fit/result_of.hpp>
|
#include <sprout/algorithm/fit/result_of.hpp>
|
||||||
#include <sprout/sub_array/sub_array.hpp>
|
#include <sprout/sub_array/sub_array.hpp>
|
||||||
#include <sprout/sub_array/sub.hpp>
|
#include <sprout/sub_array/sub.hpp>
|
||||||
#include HDR_ALGORITHM_SSCRISK_CEL_OR_SPROUT
|
#include HDR_ALGORITHM_MIN_MAX_SSCRISK_CEL_OR_SPROUT
|
||||||
|
|
||||||
namespace sprout {
|
namespace sprout {
|
||||||
namespace fit {
|
namespace fit {
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
#include <sprout/algorithm/fit/result_of.hpp>
|
#include <sprout/algorithm/fit/result_of.hpp>
|
||||||
#include <sprout/sub_array/sub_array.hpp>
|
#include <sprout/sub_array/sub_array.hpp>
|
||||||
#include <sprout/sub_array/sub.hpp>
|
#include <sprout/sub_array/sub.hpp>
|
||||||
#include HDR_ALGORITHM_SSCRISK_CEL_OR_SPROUT
|
#include HDR_ALGORITHM_MIN_MAX_SSCRISK_CEL_OR_SPROUT
|
||||||
#include <sprout/iterator/type_traits/is_iterator.hpp>
|
#include <sprout/iterator/type_traits/is_iterator.hpp>
|
||||||
|
|
||||||
namespace sprout {
|
namespace sprout {
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
#include <sprout/algorithm/fit/result_of.hpp>
|
#include <sprout/algorithm/fit/result_of.hpp>
|
||||||
#include <sprout/sub_array/sub_array.hpp>
|
#include <sprout/sub_array/sub_array.hpp>
|
||||||
#include <sprout/sub_array/sub.hpp>
|
#include <sprout/sub_array/sub.hpp>
|
||||||
#include HDR_ALGORITHM_SSCRISK_CEL_OR_SPROUT
|
#include HDR_ALGORITHM_MIN_MAX_SSCRISK_CEL_OR_SPROUT
|
||||||
#include <sprout/iterator/operation.hpp>
|
#include <sprout/iterator/operation.hpp>
|
||||||
|
|
||||||
namespace sprout {
|
namespace sprout {
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
#include <sprout/algorithm/fit/result_of.hpp>
|
#include <sprout/algorithm/fit/result_of.hpp>
|
||||||
#include <sprout/sub_array/sub_array.hpp>
|
#include <sprout/sub_array/sub_array.hpp>
|
||||||
#include <sprout/sub_array/sub.hpp>
|
#include <sprout/sub_array/sub.hpp>
|
||||||
#include HDR_ALGORITHM_SSCRISK_CEL_OR_SPROUT
|
#include HDR_ALGORITHM_MIN_MAX_SSCRISK_CEL_OR_SPROUT
|
||||||
#include <sprout/iterator/type_traits/is_iterator.hpp>
|
#include <sprout/iterator/type_traits/is_iterator.hpp>
|
||||||
|
|
||||||
namespace sprout {
|
namespace sprout {
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
#include <sprout/algorithm/fit/result_of.hpp>
|
#include <sprout/algorithm/fit/result_of.hpp>
|
||||||
#include <sprout/sub_array/sub_array.hpp>
|
#include <sprout/sub_array/sub_array.hpp>
|
||||||
#include <sprout/sub_array/sub.hpp>
|
#include <sprout/sub_array/sub.hpp>
|
||||||
#include HDR_ALGORITHM_SSCRISK_CEL_OR_SPROUT
|
#include HDR_ALGORITHM_MIN_MAX_SSCRISK_CEL_OR_SPROUT
|
||||||
|
|
||||||
namespace sprout {
|
namespace sprout {
|
||||||
namespace fit {
|
namespace fit {
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
#include <sprout/sub_array/sub_array.hpp>
|
#include <sprout/sub_array/sub_array.hpp>
|
||||||
#include <sprout/sub_array/sub.hpp>
|
#include <sprout/sub_array/sub.hpp>
|
||||||
#include <sprout/detail/algorithm/overlap_count.hpp>
|
#include <sprout/detail/algorithm/overlap_count.hpp>
|
||||||
#include HDR_ALGORITHM_SSCRISK_CEL_OR_SPROUT
|
#include HDR_ALGORITHM_MIN_MAX_SSCRISK_CEL_OR_SPROUT
|
||||||
#include <sprout/iterator/type_traits/is_iterator.hpp>
|
#include <sprout/iterator/type_traits/is_iterator.hpp>
|
||||||
|
|
||||||
namespace sprout {
|
namespace sprout {
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
#include <sprout/algorithm/fixed/result_of.hpp>
|
#include <sprout/algorithm/fixed/result_of.hpp>
|
||||||
#include <sprout/algorithm/fixed/copy.hpp>
|
#include <sprout/algorithm/fixed/copy.hpp>
|
||||||
#include <sprout/operation/fixed/set.hpp>
|
#include <sprout/operation/fixed/set.hpp>
|
||||||
#include HDR_ALGORITHM_SSCRISK_CEL_OR_SPROUT
|
#include HDR_ALGORITHM_MIN_MAX_SSCRISK_CEL_OR_SPROUT
|
||||||
|
|
||||||
namespace sprout {
|
namespace sprout {
|
||||||
namespace brainfuck {
|
namespace brainfuck {
|
||||||
|
|
|
@ -1,6 +1,13 @@
|
||||||
#ifndef SPROUT_CONFIG_SUFFIX_HPP
|
#ifndef SPROUT_CONFIG_SUFFIX_HPP
|
||||||
#define SPROUT_CONFIG_SUFFIX_HPP
|
#define SPROUT_CONFIG_SUFFIX_HPP
|
||||||
|
|
||||||
|
//
|
||||||
|
// SPROUT_CONSTEXPR
|
||||||
|
// SPROUT_CONSTEXPR_OR_CONST
|
||||||
|
// SPROUT_STATIC_CONSTEXPR
|
||||||
|
// SPROUT_STATIC_CONSTEXPR_DATA_MEMBER_INNER
|
||||||
|
// SPROUT_STATIC_CONSTEXPR_DATA_MEMBER_OUTER
|
||||||
|
//
|
||||||
#ifndef SPROUT_CONFIG_DISABLE_CONSTEXPR
|
#ifndef SPROUT_CONFIG_DISABLE_CONSTEXPR
|
||||||
# define SPROUT_CONSTEXPR constexpr
|
# define SPROUT_CONSTEXPR constexpr
|
||||||
# define SPROUT_CONSTEXPR_OR_CONST constexpr
|
# define SPROUT_CONSTEXPR_OR_CONST constexpr
|
||||||
|
@ -17,6 +24,10 @@
|
||||||
# define SPROUT_STATIC_CONSTEXPR_DATA_MEMBER_OUTER(EXPR) = EXPR
|
# define SPROUT_STATIC_CONSTEXPR_DATA_MEMBER_OUTER(EXPR) = EXPR
|
||||||
#endif // #ifndef SPROUT_CONFIG_DISABLE_CONSTEXPR
|
#endif // #ifndef SPROUT_CONFIG_DISABLE_CONSTEXPR
|
||||||
|
|
||||||
|
//
|
||||||
|
// SPROUT_DEFAULTED_DEFAULT_CONSTRUCTOR_DECL
|
||||||
|
// SPROUT_DEFAULTED_DESTRUCTOR_DECL
|
||||||
|
//
|
||||||
#ifndef SPROUT_CONFIG_DISABLE_DEFAULTED_FUNCTIONS
|
#ifndef SPROUT_CONFIG_DISABLE_DEFAULTED_FUNCTIONS
|
||||||
# define SPROUT_DEFAULTED_DEFAULT_CONSTRUCTOR_DECL = default;
|
# define SPROUT_DEFAULTED_DEFAULT_CONSTRUCTOR_DECL = default;
|
||||||
# define SPROUT_DEFAULTED_DESTRUCTOR_DECL = default;
|
# define SPROUT_DEFAULTED_DESTRUCTOR_DECL = default;
|
||||||
|
@ -25,18 +36,29 @@
|
||||||
# define SPROUT_DEFAULTED_DESTRUCTOR_DECL {}
|
# define SPROUT_DEFAULTED_DESTRUCTOR_DECL {}
|
||||||
#endif // #ifndef SPROUT_CONFIG_DISABLE_DEFAULTED_FUNCTIONS
|
#endif // #ifndef SPROUT_CONFIG_DISABLE_DEFAULTED_FUNCTIONS
|
||||||
|
|
||||||
|
//
|
||||||
|
// SPROUT_DELETED_FUNCTION_DECL
|
||||||
|
//
|
||||||
#ifndef SPROUT_CONFIG_DISABLE_DELETED_FUNCTIONS
|
#ifndef SPROUT_CONFIG_DISABLE_DELETED_FUNCTIONS
|
||||||
# define SPROUT_DELETED_FUNCTION_DECL = delete;
|
# define SPROUT_DELETED_FUNCTION_DECL = delete;
|
||||||
#else // #ifndef SPROUT_CONFIG_DISABLE_DELETED_FUNCTIONS
|
#else // #ifndef SPROUT_CONFIG_DISABLE_DELETED_FUNCTIONS
|
||||||
# define SPROUT_DELETED_FUNCTION_DECL ;
|
# define SPROUT_DELETED_FUNCTION_DECL ;
|
||||||
#endif // #ifndef SPROUT_CONFIG_DISABLE_DELETED_FUNCTIONS
|
#endif // #ifndef SPROUT_CONFIG_DISABLE_DELETED_FUNCTIONS
|
||||||
|
|
||||||
|
//
|
||||||
|
// SPROUT_USE_EXPLICIT_CONVERSION_OPERATORS
|
||||||
|
//
|
||||||
#ifndef SPROUT_CONFIG_DISABLE_EXPLICIT_CONVERSION_OPERATORS
|
#ifndef SPROUT_CONFIG_DISABLE_EXPLICIT_CONVERSION_OPERATORS
|
||||||
# define SPROUT_USE_EXPLICIT_CONVERSION_OPERATORS 1
|
# define SPROUT_USE_EXPLICIT_CONVERSION_OPERATORS 1
|
||||||
#else // #ifndef SPROUT_CONFIG_DISABLE_EXPLICIT_CONVERSION_OPERATORS
|
#else // #ifndef SPROUT_CONFIG_DISABLE_EXPLICIT_CONVERSION_OPERATORS
|
||||||
# define SPROUT_USE_EXPLICIT_CONVERSION_OPERATORS 0
|
# define SPROUT_USE_EXPLICIT_CONVERSION_OPERATORS 0
|
||||||
#endif // #ifndef SPROUT_CONFIG_DISABLE_EXPLICIT_CONVERSION_OPERATORS
|
#endif // #ifndef SPROUT_CONFIG_DISABLE_EXPLICIT_CONVERSION_OPERATORS
|
||||||
|
|
||||||
|
//
|
||||||
|
// SPROUT_NOEXCEPT
|
||||||
|
// SPROUT_NOEXCEPT_EXPR
|
||||||
|
// SPROUT_NOEXCEPT_EXPR_OR_DEFAULT
|
||||||
|
//
|
||||||
#ifndef SPROUT_CONFIG_DISABLE_NOEXCEPT
|
#ifndef SPROUT_CONFIG_DISABLE_NOEXCEPT
|
||||||
# define SPROUT_NOEXCEPT noexcept
|
# define SPROUT_NOEXCEPT noexcept
|
||||||
# define SPROUT_NOEXCEPT_EXPR(EXPR) noexcept(EXPR)
|
# define SPROUT_NOEXCEPT_EXPR(EXPR) noexcept(EXPR)
|
||||||
|
@ -47,62 +69,72 @@
|
||||||
# define SPROUT_NOEXCEPT_EXPR_OR_DEFAULT(EXPR, C) C
|
# define SPROUT_NOEXCEPT_EXPR_OR_DEFAULT(EXPR, C) C
|
||||||
#endif // #ifndef SPROUT_CONFIG_DISABLE_NOEXCEPT
|
#endif // #ifndef SPROUT_CONFIG_DISABLE_NOEXCEPT
|
||||||
|
|
||||||
|
//
|
||||||
|
// SPROUT_USE_TEMPLATE_ALIASES
|
||||||
|
//
|
||||||
#ifndef SPROUT_CONFIG_DISABLE_TEMPLATE_ALIASES
|
#ifndef SPROUT_CONFIG_DISABLE_TEMPLATE_ALIASES
|
||||||
# define SPROUT_USE_TEMPLATE_ALIASES 1
|
# define SPROUT_USE_TEMPLATE_ALIASES 1
|
||||||
#else // #ifndef SPROUT_CONFIG_DISABLE_TEMPLATE_ALIASES
|
#else // #ifndef SPROUT_CONFIG_DISABLE_TEMPLATE_ALIASES
|
||||||
# define SPROUT_USE_TEMPLATE_ALIASES 0
|
# define SPROUT_USE_TEMPLATE_ALIASES 0
|
||||||
#endif // #ifndef SPROUT_CONFIG_DISABLE_TEMPLATE_ALIASES
|
#endif // #ifndef SPROUT_CONFIG_DISABLE_TEMPLATE_ALIASES
|
||||||
|
|
||||||
|
//
|
||||||
|
// SPROUT_USE_USER_DEFINED_LITERALS
|
||||||
|
//
|
||||||
#ifndef SPROUT_CONFIG_DISABLE_USER_DEFINED_LITERALS
|
#ifndef SPROUT_CONFIG_DISABLE_USER_DEFINED_LITERALS
|
||||||
# define SPROUT_USE_USER_DEFINED_LITERALS 1
|
# define SPROUT_USE_USER_DEFINED_LITERALS 1
|
||||||
#else // #ifndef SPROUT_CONFIG_DISABLE_USER_DEFINED_LITERALS
|
#else // #ifndef SPROUT_CONFIG_DISABLE_USER_DEFINED_LITERALS
|
||||||
# define SPROUT_USE_USER_DEFINED_LITERALS 0
|
# define SPROUT_USE_USER_DEFINED_LITERALS 0
|
||||||
#endif // #ifndef SPROUT_CONFIG_DISABLE_USER_DEFINED_LITERALS
|
#endif // #ifndef SPROUT_CONFIG_DISABLE_USER_DEFINED_LITERALS
|
||||||
|
|
||||||
|
//
|
||||||
|
// SPROUT_USE_DELEGATING_CONSTRUCTORS
|
||||||
|
//
|
||||||
#ifndef SPROUT_CONFIG_DISABLE_DELEGATING_CONSTRUCTORS
|
#ifndef SPROUT_CONFIG_DISABLE_DELEGATING_CONSTRUCTORS
|
||||||
# define SPROUT_USE_DELEGATING_CONSTRUCTORS 1
|
# define SPROUT_USE_DELEGATING_CONSTRUCTORS 1
|
||||||
#else // #ifndef SPROUT_CONFIG_DISABLE_DELEGATING_CONSTRUCTORS
|
#else // #ifndef SPROUT_CONFIG_DISABLE_DELEGATING_CONSTRUCTORS
|
||||||
# define SPROUT_USE_DELEGATING_CONSTRUCTORS 0
|
# define SPROUT_USE_DELEGATING_CONSTRUCTORS 0
|
||||||
#endif // #ifndef SPROUT_CONFIG_DISABLE_DELEGATING_CONSTRUCTORS
|
#endif // #ifndef SPROUT_CONFIG_DISABLE_DELEGATING_CONSTRUCTORS
|
||||||
|
|
||||||
|
//
|
||||||
|
// SPROUT_USE_UNICODE_LITERALS
|
||||||
|
//
|
||||||
#ifndef SPROUT_CONFIG_DISABLE_UNICODE_LITERALS
|
#ifndef SPROUT_CONFIG_DISABLE_UNICODE_LITERALS
|
||||||
# define SPROUT_USE_UNICODE_LITERALS 1
|
# define SPROUT_USE_UNICODE_LITERALS 1
|
||||||
#else // #ifndef SPROUT_CONFIG_DISABLE_UNICODE_LITERALS
|
#else // #ifndef SPROUT_CONFIG_DISABLE_UNICODE_LITERALS
|
||||||
# define SPROUT_USE_UNICODE_LITERALS 0
|
# define SPROUT_USE_UNICODE_LITERALS 0
|
||||||
#endif // #ifndef SPROUT_CONFIG_DISABLE_UNICODE_LITERALS
|
#endif // #ifndef SPROUT_CONFIG_DISABLE_UNICODE_LITERALS
|
||||||
|
|
||||||
#ifndef SPROUT_CONFIG_USE_SSCRISK_CEL
|
//
|
||||||
# define HDR_FUNCTIONAL_SSCRISK_CEL_OR_SPROUT <sprout/functional/functor.hpp>
|
// SPROUT_USE_BUILTIN_CMATH_FUNCTION
|
||||||
# define HDR_ALGORITHM_SSCRISK_CEL_OR_SPROUT <sprout/algorithm/non_modifying.hpp>
|
//
|
||||||
# define HDR_NUMERIC_SSCRISK_CEL_OR_SPROUT <sprout/numeric/non_modifying.hpp>
|
|
||||||
# define HDR_ITERATOR_SSCRISK_CEL_OR_SPROUT <sprout/iterator/operation.hpp>
|
|
||||||
# define NS_SSCRISK_CEL_OR_SPROUT sprout
|
|
||||||
#else // #ifndef SPROUT_CONFIG_USE_SSCRISK_CEL
|
|
||||||
# define HDR_FUNCTIONAL_SSCRISK_CEL_OR_SPROUT <sscrisk/cel/functional.hpp>
|
|
||||||
# define HDR_ALGORITHM_SSCRISK_CEL_OR_SPROUT <sscrisk/cel/algorithm.hpp>
|
|
||||||
# define HDR_NUMERIC_SSCRISK_CEL_OR_SPROUT <sscrisk/cel/numeric.hpp>
|
|
||||||
# define HDR_ITERATOR_SSCRISK_CEL_OR_SPROUT <sscrisk/cel/iterator.hpp>
|
|
||||||
# define NS_SSCRISK_CEL_OR_SPROUT sscrisk::cel
|
|
||||||
#endif // #ifndef SPROUT_CONFIG_USE_SSCRISK_CEL
|
|
||||||
|
|
||||||
#ifndef SPROUT_CONFIG_DISABLE_BUILTIN_CMATH_FUNCTION
|
#ifndef SPROUT_CONFIG_DISABLE_BUILTIN_CMATH_FUNCTION
|
||||||
# define SPROUT_USE_BUILTIN_CMATH_FUNCTION 1
|
# define SPROUT_USE_BUILTIN_CMATH_FUNCTION 1
|
||||||
#else // #ifndef SPROUT_CONFIG_DISABLE_BUILTIN_CMATH_FUNCTION
|
#else // #ifndef SPROUT_CONFIG_DISABLE_BUILTIN_CMATH_FUNCTION
|
||||||
# define SPROUT_USE_BUILTIN_CMATH_FUNCTION 0
|
# define SPROUT_USE_BUILTIN_CMATH_FUNCTION 0
|
||||||
#endif // #ifndef SPROUT_CONFIG_DISABLE_BUILTIN_CMATH_FUNCTION
|
#endif // #ifndef SPROUT_CONFIG_DISABLE_BUILTIN_CMATH_FUNCTION
|
||||||
|
|
||||||
|
//
|
||||||
|
// SPROUT_USE_BUILTIN_BIT_OPERATION
|
||||||
|
//
|
||||||
#ifndef SPROUT_CONFIG_DISABLE_BUILTIN_BIT_OPERATION
|
#ifndef SPROUT_CONFIG_DISABLE_BUILTIN_BIT_OPERATION
|
||||||
# define SPROUT_USE_BUILTIN_BIT_OPERATION 1
|
# define SPROUT_USE_BUILTIN_BIT_OPERATION 1
|
||||||
#else // #ifndef SPROUT_CONFIG_DISABLE_BUILTIN_BIT_OPERATION
|
#else // #ifndef SPROUT_CONFIG_DISABLE_BUILTIN_BIT_OPERATION
|
||||||
# define SPROUT_USE_BUILTIN_BIT_OPERATION 0
|
# define SPROUT_USE_BUILTIN_BIT_OPERATION 0
|
||||||
#endif // #ifndef SPROUT_CONFIG_DISABLE_BUILTIN_BIT_OPERATION
|
#endif // #ifndef SPROUT_CONFIG_DISABLE_BUILTIN_BIT_OPERATION
|
||||||
|
|
||||||
|
//
|
||||||
|
// SPROUT_NOERROR_LARGE_FLOAT_ROUNDING
|
||||||
|
//
|
||||||
#ifndef SPROUT_CONFIG_DISABLE_LARGE_FLOAT_ROUNDING
|
#ifndef SPROUT_CONFIG_DISABLE_LARGE_FLOAT_ROUNDING
|
||||||
# define SPROUT_NOERROR_LARGE_FLOAT_ROUNDING 1
|
# define SPROUT_NOERROR_LARGE_FLOAT_ROUNDING 1
|
||||||
#else // #ifndef SPROUT_CONFIG_DISABLE_LARGE_FLOAT_ROUNDING
|
#else // #ifndef SPROUT_CONFIG_DISABLE_LARGE_FLOAT_ROUNDING
|
||||||
# define SPROUT_NOERROR_LARGE_FLOAT_ROUNDING 0
|
# define SPROUT_NOERROR_LARGE_FLOAT_ROUNDING 0
|
||||||
#endif // #ifndef SPROUT_CONFIG_DISABLE_LARGE_FLOAT_ROUNDING
|
#endif // #ifndef SPROUT_CONFIG_DISABLE_LARGE_FLOAT_ROUNDING
|
||||||
|
|
||||||
|
//
|
||||||
|
// SPROUT_USE_INDEX_ITERATOR_IMPLEMENTATION
|
||||||
|
//
|
||||||
#ifndef SPROUT_CONFIG_DISABLE_SUPPORT_TEMPORARY_CONTAINER_ITERATION
|
#ifndef SPROUT_CONFIG_DISABLE_SUPPORT_TEMPORARY_CONTAINER_ITERATION
|
||||||
# define SPROUT_USE_INDEX_ITERATOR_IMPLEMENTATION 1
|
# define SPROUT_USE_INDEX_ITERATOR_IMPLEMENTATION 1
|
||||||
#else // #ifndef SPROUT_CONFIG_DISABLE_SUPPORT_TEMPORARY_CONTAINER_ITERATION
|
#else // #ifndef SPROUT_CONFIG_DISABLE_SUPPORT_TEMPORARY_CONTAINER_ITERATION
|
||||||
|
@ -112,10 +144,28 @@
|
||||||
# define SPROUT_USE_INDEX_ITERATOR_IMPLEMENTATION 0
|
# define SPROUT_USE_INDEX_ITERATOR_IMPLEMENTATION 0
|
||||||
#endif // #ifndef SPROUT_CONFIG_DISABLE_SUPPORT_TEMPORARY_CONTAINER_ITERATION
|
#endif // #ifndef SPROUT_CONFIG_DISABLE_SUPPORT_TEMPORARY_CONTAINER_ITERATION
|
||||||
|
|
||||||
|
//
|
||||||
|
// SPROUT_USE_PTR_INDEX_ITERATOR_IMPLEMENTATION
|
||||||
|
//
|
||||||
#ifndef SPROUT_CONFIG_DISABLE_SUPPORT_EFFICIENT_ARRAY_ITERATION
|
#ifndef SPROUT_CONFIG_DISABLE_SUPPORT_EFFICIENT_ARRAY_ITERATION
|
||||||
# define SPROUT_USE_PTR_INDEX_ITERATOR_IMPLEMENTATION 1
|
# define SPROUT_USE_PTR_INDEX_ITERATOR_IMPLEMENTATION 1
|
||||||
#else // #ifndef SPROUT_CONFIG_DISABLE_SUPPORT_EFFICIENT_ARRAY_ITERATION
|
#else // #ifndef SPROUT_CONFIG_DISABLE_SUPPORT_EFFICIENT_ARRAY_ITERATION
|
||||||
# define SPROUT_USE_PTR_INDEX_ITERATOR_IMPLEMENTATION 0
|
# define SPROUT_USE_PTR_INDEX_ITERATOR_IMPLEMENTATION 0
|
||||||
#endif // #ifndef SPROUT_CONFIG_DISABLE_SUPPORT_EFFICIENT_ARRAY_ITERATION
|
#endif // #ifndef SPROUT_CONFIG_DISABLE_SUPPORT_EFFICIENT_ARRAY_ITERATION
|
||||||
|
|
||||||
|
//
|
||||||
|
// HDR_FUNCTIONAL_SSCRISK_CEL_OR_SPROUT
|
||||||
|
// HDR_ALGORITHM_MIN_MAX_SSCRISK_CEL_OR_SPROUT
|
||||||
|
// NS_SSCRISK_CEL_OR_SPROUT
|
||||||
|
//
|
||||||
|
#ifndef SPROUT_CONFIG_USE_SSCRISK_CEL
|
||||||
|
# define HDR_FUNCTIONAL_SSCRISK_CEL_OR_SPROUT <sprout/functional/functor.hpp>
|
||||||
|
# define HDR_ALGORITHM_MIN_MAX_SSCRISK_CEL_OR_SPROUT <sprout/detail/algorithm_min_max.hpp>
|
||||||
|
# define NS_SSCRISK_CEL_OR_SPROUT sprout
|
||||||
|
#else // #ifndef SPROUT_CONFIG_USE_SSCRISK_CEL
|
||||||
|
# define HDR_FUNCTIONAL_SSCRISK_CEL_OR_SPROUT <sscrisk/cel/functional.hpp>
|
||||||
|
# define HDR_ALGORITHM_MIN_MAX_SSCRISK_CEL_OR_SPROUT <sscrisk/cel/algorithm.hpp>
|
||||||
|
# define NS_SSCRISK_CEL_OR_SPROUT sscrisk::cel
|
||||||
|
#endif // #ifndef SPROUT_CONFIG_USE_SSCRISK_CEL
|
||||||
|
|
||||||
#endif // #ifndef SPROUT_CONFIG_SUFFIX_HPP
|
#endif // #ifndef SPROUT_CONFIG_SUFFIX_HPP
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
#include <sprout/darkroom/materials/material.hpp>
|
#include <sprout/darkroom/materials/material.hpp>
|
||||||
#include <sprout/darkroom/intersects/intersection.hpp>
|
#include <sprout/darkroom/intersects/intersection.hpp>
|
||||||
#include <sprout/darkroom/objects/intersect.hpp>
|
#include <sprout/darkroom/objects/intersect.hpp>
|
||||||
#include HDR_ALGORITHM_SSCRISK_CEL_OR_SPROUT
|
#include HDR_ALGORITHM_MIN_MAX_SSCRISK_CEL_OR_SPROUT
|
||||||
|
|
||||||
namespace sprout {
|
namespace sprout {
|
||||||
namespace darkroom {
|
namespace darkroom {
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
#include <sprout/darkroom/materials/material.hpp>
|
#include <sprout/darkroom/materials/material.hpp>
|
||||||
#include <sprout/darkroom/intersects/intersection.hpp>
|
#include <sprout/darkroom/intersects/intersection.hpp>
|
||||||
#include <sprout/darkroom/objects/intersect.hpp>
|
#include <sprout/darkroom/objects/intersect.hpp>
|
||||||
#include HDR_ALGORITHM_SSCRISK_CEL_OR_SPROUT
|
#include HDR_ALGORITHM_MIN_MAX_SSCRISK_CEL_OR_SPROUT
|
||||||
|
|
||||||
namespace sprout {
|
namespace sprout {
|
||||||
namespace darkroom {
|
namespace darkroom {
|
||||||
|
|
8
sprout/detail/algorithm_min_max.hpp
Normal file
8
sprout/detail/algorithm_min_max.hpp
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
#ifndef SPROUT_DETAIL_ALGORITHM_MIN_MAX_HPP
|
||||||
|
#define SPROUT_DETAIL_ALGORITHM_MIN_MAX_HPP
|
||||||
|
|
||||||
|
#include <sprout/config.hpp>
|
||||||
|
#include <sprout/algorithm/min.hpp>
|
||||||
|
#include <sprout/algorithm/max.hpp>
|
||||||
|
|
||||||
|
#endif // #ifndef SPROUT_DETAIL_ALGORITHM_MIN_MAX_HPP
|
|
@ -71,7 +71,7 @@ namespace sprout {
|
||||||
inline SPROUT_CONSTEXPR std::size_t
|
inline SPROUT_CONSTEXPR std::size_t
|
||||||
float_hash_value(T v) {
|
float_hash_value(T v) {
|
||||||
return sprout::detail::float_hash_value_1(v, sprout::math::fpclassify(v));
|
return sprout::detail::float_hash_value_1(v, sprout::math::fpclassify(v));
|
||||||
}
|
}
|
||||||
} // namespace detail
|
} // namespace detail
|
||||||
} // namespace sprout
|
} // namespace sprout
|
||||||
|
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
#include <sprout/range/numeric/partial_sum.hpp>
|
#include <sprout/range/numeric/partial_sum.hpp>
|
||||||
#include <sprout/type_traits/is_char_type.hpp>
|
#include <sprout/type_traits/is_char_type.hpp>
|
||||||
#include <sprout/detail/param_at.hpp>
|
#include <sprout/detail/param_at.hpp>
|
||||||
#include HDR_ALGORITHM_SSCRISK_CEL_OR_SPROUT
|
#include HDR_ALGORITHM_MIN_MAX_SSCRISK_CEL_OR_SPROUT
|
||||||
|
|
||||||
namespace sprout {
|
namespace sprout {
|
||||||
namespace io {
|
namespace io {
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
#include <sprout/iterator/distance.hpp>
|
#include <sprout/iterator/distance.hpp>
|
||||||
#include <sprout/iterator/type_traits/common.hpp>
|
#include <sprout/iterator/type_traits/common.hpp>
|
||||||
#include <sprout/utility/swap.hpp>
|
#include <sprout/utility/swap.hpp>
|
||||||
#include HDR_ALGORITHM_SSCRISK_CEL_OR_SPROUT
|
#include HDR_ALGORITHM_MIN_MAX_SSCRISK_CEL_OR_SPROUT
|
||||||
|
|
||||||
namespace sprout {
|
namespace sprout {
|
||||||
//
|
//
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
#include <sprout/iterator/distance.hpp>
|
#include <sprout/iterator/distance.hpp>
|
||||||
#include <sprout/utility/swap.hpp>
|
#include <sprout/utility/swap.hpp>
|
||||||
#include <sprout/iterator/operation.hpp>
|
#include <sprout/iterator/operation.hpp>
|
||||||
#include HDR_ALGORITHM_SSCRISK_CEL_OR_SPROUT
|
#include HDR_ALGORITHM_MIN_MAX_SSCRISK_CEL_OR_SPROUT
|
||||||
|
|
||||||
namespace sprout {
|
namespace sprout {
|
||||||
//
|
//
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
#include <sprout/sub_array/sub_array.hpp>
|
#include <sprout/sub_array/sub_array.hpp>
|
||||||
#include <sprout/sub_array/sub.hpp>
|
#include <sprout/sub_array/sub.hpp>
|
||||||
#include <sprout/pit/pit.hpp>
|
#include <sprout/pit/pit.hpp>
|
||||||
#include HDR_ALGORITHM_SSCRISK_CEL_OR_SPROUT
|
#include HDR_ALGORITHM_MIN_MAX_SSCRISK_CEL_OR_SPROUT
|
||||||
#include <sprout/iterator/type_traits/is_iterator.hpp>
|
#include <sprout/iterator/type_traits/is_iterator.hpp>
|
||||||
|
|
||||||
namespace sprout {
|
namespace sprout {
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
#include <sprout/sub_array/sub_array.hpp>
|
#include <sprout/sub_array/sub_array.hpp>
|
||||||
#include <sprout/sub_array/sub.hpp>
|
#include <sprout/sub_array/sub.hpp>
|
||||||
#include <sprout/pit/pit.hpp>
|
#include <sprout/pit/pit.hpp>
|
||||||
#include HDR_ALGORITHM_SSCRISK_CEL_OR_SPROUT
|
#include HDR_ALGORITHM_MIN_MAX_SSCRISK_CEL_OR_SPROUT
|
||||||
|
|
||||||
namespace sprout {
|
namespace sprout {
|
||||||
namespace fit {
|
namespace fit {
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
#include <sprout/sub_array/sub_array.hpp>
|
#include <sprout/sub_array/sub_array.hpp>
|
||||||
#include <sprout/sub_array/sub.hpp>
|
#include <sprout/sub_array/sub.hpp>
|
||||||
#include <sprout/pit/pit.hpp>
|
#include <sprout/pit/pit.hpp>
|
||||||
#include HDR_ALGORITHM_SSCRISK_CEL_OR_SPROUT
|
#include HDR_ALGORITHM_MIN_MAX_SSCRISK_CEL_OR_SPROUT
|
||||||
|
|
||||||
namespace sprout {
|
namespace sprout {
|
||||||
namespace fit {
|
namespace fit {
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
#include <sprout/sub_array/sub_array.hpp>
|
#include <sprout/sub_array/sub_array.hpp>
|
||||||
#include <sprout/sub_array/sub.hpp>
|
#include <sprout/sub_array/sub.hpp>
|
||||||
#include <sprout/pit/pit.hpp>
|
#include <sprout/pit/pit.hpp>
|
||||||
#include HDR_ALGORITHM_SSCRISK_CEL_OR_SPROUT
|
#include HDR_ALGORITHM_MIN_MAX_SSCRISK_CEL_OR_SPROUT
|
||||||
#include <sprout/iterator/type_traits/is_iterator.hpp>
|
#include <sprout/iterator/type_traits/is_iterator.hpp>
|
||||||
|
|
||||||
namespace sprout {
|
namespace sprout {
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
#include <sprout/algorithm/fit/result_of.hpp>
|
#include <sprout/algorithm/fit/result_of.hpp>
|
||||||
#include <sprout/sub_array/sub_array.hpp>
|
#include <sprout/sub_array/sub_array.hpp>
|
||||||
#include <sprout/sub_array/sub.hpp>
|
#include <sprout/sub_array/sub.hpp>
|
||||||
#include HDR_ALGORITHM_SSCRISK_CEL_OR_SPROUT
|
#include HDR_ALGORITHM_MIN_MAX_SSCRISK_CEL_OR_SPROUT
|
||||||
#include <sprout/iterator/type_traits/is_iterator.hpp>
|
#include <sprout/iterator/type_traits/is_iterator.hpp>
|
||||||
|
|
||||||
namespace sprout {
|
namespace sprout {
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
#include <sprout/algorithm/fit/result_of.hpp>
|
#include <sprout/algorithm/fit/result_of.hpp>
|
||||||
#include <sprout/sub_array/sub_array.hpp>
|
#include <sprout/sub_array/sub_array.hpp>
|
||||||
#include <sprout/sub_array/sub.hpp>
|
#include <sprout/sub_array/sub.hpp>
|
||||||
#include HDR_ALGORITHM_SSCRISK_CEL_OR_SPROUT
|
#include HDR_ALGORITHM_MIN_MAX_SSCRISK_CEL_OR_SPROUT
|
||||||
#include <sprout/iterator/type_traits/is_iterator.hpp>
|
#include <sprout/iterator/type_traits/is_iterator.hpp>
|
||||||
|
|
||||||
namespace sprout {
|
namespace sprout {
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
#include <sprout/random/random_result.hpp>
|
#include <sprout/random/random_result.hpp>
|
||||||
#include <sprout/random/detail/generator_bits.hpp>
|
#include <sprout/random/detail/generator_bits.hpp>
|
||||||
#include <sprout/detail/integer.hpp>
|
#include <sprout/detail/integer.hpp>
|
||||||
#include HDR_ALGORITHM_SSCRISK_CEL_OR_SPROUT
|
#include HDR_ALGORITHM_MIN_MAX_SSCRISK_CEL_OR_SPROUT
|
||||||
|
|
||||||
namespace sprout {
|
namespace sprout {
|
||||||
namespace random {
|
namespace random {
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
#include <istream>
|
#include <istream>
|
||||||
#include <sprout/config.hpp>
|
#include <sprout/config.hpp>
|
||||||
#include <sprout/random/random_result.hpp>
|
#include <sprout/random/random_result.hpp>
|
||||||
#include HDR_ALGORITHM_SSCRISK_CEL_OR_SPROUT
|
#include HDR_ALGORITHM_MIN_MAX_SSCRISK_CEL_OR_SPROUT
|
||||||
|
|
||||||
namespace sprout {
|
namespace sprout {
|
||||||
namespace random {
|
namespace random {
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
#include <sprout/utility/forward.hpp>
|
#include <sprout/utility/forward.hpp>
|
||||||
#include <sprout/utility/lvalue_forward.hpp>
|
#include <sprout/utility/lvalue_forward.hpp>
|
||||||
#include <sprout/utility/value_holder/value_holder.hpp>
|
#include <sprout/utility/value_holder/value_holder.hpp>
|
||||||
#include HDR_ALGORITHM_SSCRISK_CEL_OR_SPROUT
|
#include HDR_ALGORITHM_MIN_MAX_SSCRISK_CEL_OR_SPROUT
|
||||||
|
|
||||||
namespace sprout {
|
namespace sprout {
|
||||||
namespace adaptors {
|
namespace adaptors {
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
#include <sprout/type_traits/lvalue_reference.hpp>
|
#include <sprout/type_traits/lvalue_reference.hpp>
|
||||||
#include <sprout/utility/forward.hpp>
|
#include <sprout/utility/forward.hpp>
|
||||||
#include <sprout/utility/lvalue_forward.hpp>
|
#include <sprout/utility/lvalue_forward.hpp>
|
||||||
#include HDR_ALGORITHM_SSCRISK_CEL_OR_SPROUT
|
#include HDR_ALGORITHM_MIN_MAX_SSCRISK_CEL_OR_SPROUT
|
||||||
|
|
||||||
namespace sprout {
|
namespace sprout {
|
||||||
//
|
//
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
#include <sprout/range/adaptor/detail/adapted_range_default.hpp>
|
#include <sprout/range/adaptor/detail/adapted_range_default.hpp>
|
||||||
#include <sprout/type_traits/lvalue_reference.hpp>
|
#include <sprout/type_traits/lvalue_reference.hpp>
|
||||||
#include <sprout/utility/lvalue_forward.hpp>
|
#include <sprout/utility/lvalue_forward.hpp>
|
||||||
#include HDR_ALGORITHM_SSCRISK_CEL_OR_SPROUT
|
#include HDR_ALGORITHM_MIN_MAX_SSCRISK_CEL_OR_SPROUT
|
||||||
|
|
||||||
namespace sprout {
|
namespace sprout {
|
||||||
namespace adaptors {
|
namespace adaptors {
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
#include <sprout/range/adaptor/detail/adapted_range_default.hpp>
|
#include <sprout/range/adaptor/detail/adapted_range_default.hpp>
|
||||||
#include <sprout/type_traits/lvalue_reference.hpp>
|
#include <sprout/type_traits/lvalue_reference.hpp>
|
||||||
#include <sprout/utility/lvalue_forward.hpp>
|
#include <sprout/utility/lvalue_forward.hpp>
|
||||||
#include HDR_ALGORITHM_SSCRISK_CEL_OR_SPROUT
|
#include HDR_ALGORITHM_MIN_MAX_SSCRISK_CEL_OR_SPROUT
|
||||||
|
|
||||||
namespace sprout {
|
namespace sprout {
|
||||||
namespace adaptors {
|
namespace adaptors {
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
#include <sprout/type_traits/lvalue_reference.hpp>
|
#include <sprout/type_traits/lvalue_reference.hpp>
|
||||||
#include <sprout/type_traits/arithmetic_promote.hpp>
|
#include <sprout/type_traits/arithmetic_promote.hpp>
|
||||||
#include <sprout/utility/lvalue_forward.hpp>
|
#include <sprout/utility/lvalue_forward.hpp>
|
||||||
#include HDR_ALGORITHM_SSCRISK_CEL_OR_SPROUT
|
#include HDR_ALGORITHM_MIN_MAX_SSCRISK_CEL_OR_SPROUT
|
||||||
|
|
||||||
namespace sprout {
|
namespace sprout {
|
||||||
namespace adaptors {
|
namespace adaptors {
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
#include <sprout/type_traits/lvalue_reference.hpp>
|
#include <sprout/type_traits/lvalue_reference.hpp>
|
||||||
#include <sprout/utility/forward.hpp>
|
#include <sprout/utility/forward.hpp>
|
||||||
#include <sprout/utility/lvalue_forward.hpp>
|
#include <sprout/utility/lvalue_forward.hpp>
|
||||||
#include HDR_ALGORITHM_SSCRISK_CEL_OR_SPROUT
|
#include HDR_ALGORITHM_MIN_MAX_SSCRISK_CEL_OR_SPROUT
|
||||||
|
|
||||||
namespace sprout {
|
namespace sprout {
|
||||||
namespace adaptors {
|
namespace adaptors {
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
#include <sprout/range/adaptor/detail/adapted_range_default.hpp>
|
#include <sprout/range/adaptor/detail/adapted_range_default.hpp>
|
||||||
#include <sprout/type_traits/lvalue_reference.hpp>
|
#include <sprout/type_traits/lvalue_reference.hpp>
|
||||||
#include <sprout/utility/lvalue_forward.hpp>
|
#include <sprout/utility/lvalue_forward.hpp>
|
||||||
#include HDR_ALGORITHM_SSCRISK_CEL_OR_SPROUT
|
#include HDR_ALGORITHM_MIN_MAX_SSCRISK_CEL_OR_SPROUT
|
||||||
|
|
||||||
namespace sprout {
|
namespace sprout {
|
||||||
namespace adaptors {
|
namespace adaptors {
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
#include <sprout/range/adaptor/detail/adapted_range_default.hpp>
|
#include <sprout/range/adaptor/detail/adapted_range_default.hpp>
|
||||||
#include <sprout/type_traits/lvalue_reference.hpp>
|
#include <sprout/type_traits/lvalue_reference.hpp>
|
||||||
#include <sprout/utility/lvalue_forward.hpp>
|
#include <sprout/utility/lvalue_forward.hpp>
|
||||||
#include HDR_ALGORITHM_SSCRISK_CEL_OR_SPROUT
|
#include HDR_ALGORITHM_MIN_MAX_SSCRISK_CEL_OR_SPROUT
|
||||||
|
|
||||||
namespace sprout {
|
namespace sprout {
|
||||||
namespace adaptors {
|
namespace adaptors {
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
#include <sprout/type_traits/lvalue_reference.hpp>
|
#include <sprout/type_traits/lvalue_reference.hpp>
|
||||||
#include <sprout/type_traits/arithmetic_promote.hpp>
|
#include <sprout/type_traits/arithmetic_promote.hpp>
|
||||||
#include <sprout/utility/lvalue_forward.hpp>
|
#include <sprout/utility/lvalue_forward.hpp>
|
||||||
#include HDR_ALGORITHM_SSCRISK_CEL_OR_SPROUT
|
#include HDR_ALGORITHM_MIN_MAX_SSCRISK_CEL_OR_SPROUT
|
||||||
|
|
||||||
namespace sprout {
|
namespace sprout {
|
||||||
namespace adaptors {
|
namespace adaptors {
|
||||||
|
|
|
@ -2,8 +2,8 @@
|
||||||
#define SPROUT_STRING_CHAR_TRAITS_HPP
|
#define SPROUT_STRING_CHAR_TRAITS_HPP
|
||||||
|
|
||||||
#include <cstddef>
|
#include <cstddef>
|
||||||
#include <algorithm>
|
|
||||||
#include <string>
|
#include <string>
|
||||||
|
#include <algorithm>
|
||||||
#include <sprout/config.hpp>
|
#include <sprout/config.hpp>
|
||||||
#include <sprout/functional/bind2nd.hpp>
|
#include <sprout/functional/bind2nd.hpp>
|
||||||
#include <sprout/iterator/ptr_index_iterator.hpp>
|
#include <sprout/iterator/ptr_index_iterator.hpp>
|
||||||
|
@ -13,6 +13,36 @@
|
||||||
#include <sprout/cstring/strlen.hpp>
|
#include <sprout/cstring/strlen.hpp>
|
||||||
|
|
||||||
namespace sprout {
|
namespace sprout {
|
||||||
|
namespace detail {
|
||||||
|
template<typename Traits>
|
||||||
|
class char_traits_eq {
|
||||||
|
public:
|
||||||
|
typedef Traits traits_type;
|
||||||
|
typedef typename traits_type::char_type char_type;
|
||||||
|
typedef bool result_type;
|
||||||
|
typedef char_type first_argument_type;
|
||||||
|
typedef char_type second_argument_type;
|
||||||
|
public:
|
||||||
|
SPROUT_CONSTEXPR bool operator()(char_type c1, char_type c2) const SPROUT_NOEXCEPT {
|
||||||
|
return traits_type::eq(c1, c2);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
template<typename Traits>
|
||||||
|
class char_traits_lt {
|
||||||
|
public:
|
||||||
|
typedef Traits traits_type;
|
||||||
|
typedef typename traits_type::char_type char_type;
|
||||||
|
typedef bool result_type;
|
||||||
|
typedef char_type first_argument_type;
|
||||||
|
typedef char_type second_argument_type;
|
||||||
|
public:
|
||||||
|
SPROUT_CONSTEXPR bool operator()(char_type c1, char_type c2) const SPROUT_NOEXCEPT {
|
||||||
|
return traits_type::lt(c1, c2);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
} // namespace detail
|
||||||
|
|
||||||
//
|
//
|
||||||
// char_traits
|
// char_traits
|
||||||
//
|
//
|
||||||
|
@ -26,19 +56,6 @@ namespace sprout {
|
||||||
typedef typename impl_type::off_type off_type;
|
typedef typename impl_type::off_type off_type;
|
||||||
typedef typename impl_type::pos_type pos_type;
|
typedef typename impl_type::pos_type pos_type;
|
||||||
typedef typename impl_type::state_type state_type;
|
typedef typename impl_type::state_type state_type;
|
||||||
private:
|
|
||||||
struct eq_ {
|
|
||||||
public:
|
|
||||||
SPROUT_CONSTEXPR bool operator()(char_type c1, char_type c2) const SPROUT_NOEXCEPT {
|
|
||||||
return eq(c1, c2);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
struct lt_ {
|
|
||||||
public:
|
|
||||||
SPROUT_CONSTEXPR bool operator()(char_type c1, char_type c2) const SPROUT_NOEXCEPT {
|
|
||||||
return lt(c1, c2);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
private:
|
private:
|
||||||
static SPROUT_CONSTEXPR char_type const* find_impl(char_type const* found, char_type const* last) {
|
static SPROUT_CONSTEXPR char_type const* find_impl(char_type const* found, char_type const* last) {
|
||||||
return found == last ? nullptr
|
return found == last ? nullptr
|
||||||
|
@ -59,18 +76,18 @@ namespace sprout {
|
||||||
return sprout::tristate_lexicographical_compare(
|
return sprout::tristate_lexicographical_compare(
|
||||||
sprout::as_iterator(s1), sprout::as_iterator(s1, n), char_type(),
|
sprout::as_iterator(s1), sprout::as_iterator(s1, n), char_type(),
|
||||||
sprout::as_iterator(s2), sprout::as_iterator(s2, n), char_type(),
|
sprout::as_iterator(s2), sprout::as_iterator(s2, n), char_type(),
|
||||||
lt_()
|
sprout::detail::char_traits_lt<char_traits>()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
static SPROUT_CONSTEXPR std::size_t length(char_type const* s) {
|
static SPROUT_CONSTEXPR std::size_t length(char_type const* s) {
|
||||||
return sprout::detail::strlen(s);
|
return sprout::strlen(s);
|
||||||
}
|
}
|
||||||
static SPROUT_CONSTEXPR char_type const* find(char_type const* s, std::size_t n, char_type const& a) {
|
static SPROUT_CONSTEXPR char_type const* find(char_type const* s, std::size_t n, char_type const& a) {
|
||||||
return find_impl(
|
return find_impl(
|
||||||
sprout::as_iterator_base(
|
sprout::as_iterator_base(
|
||||||
sprout::find_if(
|
sprout::find_if(
|
||||||
sprout::as_iterator(s), sprout::as_iterator(s, n),
|
sprout::as_iterator(s), sprout::as_iterator(s, n),
|
||||||
sprout::bind2nd(eq_(), a)
|
sprout::bind2nd(sprout::detail::char_traits_eq<char_traits>(), a)
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
s + n
|
s + n
|
||||||
|
@ -106,7 +123,7 @@ namespace sprout {
|
||||||
return sprout::tristate_lexicographical_compare(
|
return sprout::tristate_lexicographical_compare(
|
||||||
sprout::as_iterator(s1), sprout::as_iterator(s1, n), char_type(),
|
sprout::as_iterator(s1), sprout::as_iterator(s1, n), char_type(),
|
||||||
s2, s2 + n, char_type(),
|
s2, s2 + n, char_type(),
|
||||||
lt_()
|
sprout::detail::char_traits_lt<char_traits>()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
template<typename ConstIterator>
|
template<typename ConstIterator>
|
||||||
|
@ -114,7 +131,7 @@ namespace sprout {
|
||||||
return sprout::tristate_lexicographical_compare(
|
return sprout::tristate_lexicographical_compare(
|
||||||
s1, s1 + n, char_type(),
|
s1, s1 + n, char_type(),
|
||||||
sprout::as_iterator(s2), sprout::as_iterator(s2, n), char_type(),
|
sprout::as_iterator(s2), sprout::as_iterator(s2, n), char_type(),
|
||||||
lt_()
|
sprout::detail::char_traits_lt<char_traits>()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
template<typename ConstIterator1, typename ConstIterator2>
|
template<typename ConstIterator1, typename ConstIterator2>
|
||||||
|
@ -122,7 +139,7 @@ namespace sprout {
|
||||||
return sprout::tristate_lexicographical_compare(
|
return sprout::tristate_lexicographical_compare(
|
||||||
s1, s1 + n, char_type(),
|
s1, s1 + n, char_type(),
|
||||||
s2, s2 + n, char_type(),
|
s2, s2 + n, char_type(),
|
||||||
lt_()
|
sprout::detail::char_traits_lt<char_traits>()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
template<typename ConstIterator>
|
template<typename ConstIterator>
|
||||||
|
@ -134,7 +151,7 @@ namespace sprout {
|
||||||
return sprout::as_iterator_base(
|
return sprout::as_iterator_base(
|
||||||
sprout::find_if(
|
sprout::find_if(
|
||||||
s, s + n,
|
s, s + n,
|
||||||
sprout::bind2nd(eq_(), a)
|
sprout::bind2nd(sprout::detail::char_traits_eq<char_traits>(), a)
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -168,25 +185,15 @@ namespace sprout {
|
||||||
typedef typename traits_type::off_type off_type;
|
typedef typename traits_type::off_type off_type;
|
||||||
typedef typename traits_type::pos_type pos_type;
|
typedef typename traits_type::pos_type pos_type;
|
||||||
typedef typename traits_type::state_type state_type;
|
typedef typename traits_type::state_type state_type;
|
||||||
private:
|
|
||||||
struct eq_ {
|
|
||||||
public:
|
|
||||||
SPROUT_CONSTEXPR bool operator()(char_type c1, char_type c2) const SPROUT_NOEXCEPT {
|
|
||||||
return traits_type::eq(c1, c2);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
public:
|
public:
|
||||||
static SPROUT_CONSTEXPR std::size_t length(char_type const* s, std::size_t n) {
|
static SPROUT_CONSTEXPR std::size_t length(char_type const* s, std::size_t n) {
|
||||||
return sprout::distance(
|
return sprout::strlen(s, n);
|
||||||
sprout::as_iterator(s),
|
|
||||||
find(sprout::as_iterator(s), n, char_type())
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
static SPROUT_CONSTEXPR char_type const* find(char_type const* s, std::size_t n, char_type const& a) {
|
static SPROUT_CONSTEXPR char_type const* find(char_type const* s, std::size_t n, char_type const& a) {
|
||||||
return sprout::as_iterator_base(
|
return sprout::as_iterator_base(
|
||||||
sprout::find_if(
|
sprout::find_if(
|
||||||
sprout::as_iterator(s), sprout::as_iterator(s, n),
|
sprout::as_iterator(s), sprout::as_iterator(s, n),
|
||||||
sprout::bind2nd(eq_(), a)
|
sprout::bind2nd(sprout::detail::char_traits_eq<traits_type>(), a)
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -196,16 +203,13 @@ namespace sprout {
|
||||||
#if SPROUT_USE_INDEX_ITERATOR_IMPLEMENTATION
|
#if SPROUT_USE_INDEX_ITERATOR_IMPLEMENTATION
|
||||||
template<typename ConstIterator>
|
template<typename ConstIterator>
|
||||||
static SPROUT_CONSTEXPR std::size_t length(ConstIterator s, std::size_t n) {
|
static SPROUT_CONSTEXPR std::size_t length(ConstIterator s, std::size_t n) {
|
||||||
return sprout::distance(
|
return sprout::detail::strlen(s, n);
|
||||||
s,
|
|
||||||
find(s, n, char_type())
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
template<typename ConstIterator>
|
template<typename ConstIterator>
|
||||||
static SPROUT_CONSTEXPR ConstIterator find(ConstIterator s, std::size_t n, char_type const& a) {
|
static SPROUT_CONSTEXPR ConstIterator find(ConstIterator s, std::size_t n, char_type const& a) {
|
||||||
return sprout::find_if(
|
return sprout::find_if(
|
||||||
s, s + n,
|
s, s + n,
|
||||||
sprout::bind2nd(eq_(), a)
|
sprout::bind2nd(sprout::detail::char_traits_eq<traits_type>(), a)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
template<typename ConstIterator>
|
template<typename ConstIterator>
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
#define SPROUT_STRING_DETAIL_COMPARE_HPP
|
#define SPROUT_STRING_DETAIL_COMPARE_HPP
|
||||||
|
|
||||||
#include <sprout/config.hpp>
|
#include <sprout/config.hpp>
|
||||||
#include HDR_ALGORITHM_SSCRISK_CEL_OR_SPROUT
|
#include HDR_ALGORITHM_MIN_MAX_SSCRISK_CEL_OR_SPROUT
|
||||||
|
|
||||||
namespace sprout {
|
namespace sprout {
|
||||||
namespace string_detail {
|
namespace string_detail {
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
|
|
||||||
#include <sprout/config.hpp>
|
#include <sprout/config.hpp>
|
||||||
#include <sprout/string/char_traits.hpp>
|
#include <sprout/string/char_traits.hpp>
|
||||||
#include HDR_ALGORITHM_SSCRISK_CEL_OR_SPROUT
|
#include HDR_ALGORITHM_MIN_MAX_SSCRISK_CEL_OR_SPROUT
|
||||||
|
|
||||||
namespace sprout {
|
namespace sprout {
|
||||||
namespace string_detail {
|
namespace string_detail {
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
#include <sprout/detail/char_conversion.hpp>
|
#include <sprout/detail/char_conversion.hpp>
|
||||||
#include <sprout/detail/math/int.hpp>
|
#include <sprout/detail/math/int.hpp>
|
||||||
#include <sprout/detail/math/float.hpp>
|
#include <sprout/detail/math/float.hpp>
|
||||||
#include HDR_ALGORITHM_SSCRISK_CEL_OR_SPROUT
|
#include HDR_ALGORITHM_MIN_MAX_SSCRISK_CEL_OR_SPROUT
|
||||||
|
|
||||||
namespace sprout {
|
namespace sprout {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
#include <sprout/string/char_traits.hpp>
|
#include <sprout/string/char_traits.hpp>
|
||||||
#include <sprout/string/string.hpp>
|
#include <sprout/string/string.hpp>
|
||||||
#include <sprout/utility/value_holder/value_holder.hpp>
|
#include <sprout/utility/value_holder/value_holder.hpp>
|
||||||
#include HDR_ALGORITHM_SSCRISK_CEL_OR_SPROUT
|
#include HDR_ALGORITHM_MIN_MAX_SSCRISK_CEL_OR_SPROUT
|
||||||
|
|
||||||
namespace sprout {
|
namespace sprout {
|
||||||
//
|
//
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
#define SPROUT_STRING_STRING_HPP
|
#define SPROUT_STRING_STRING_HPP
|
||||||
|
|
||||||
#include <cstddef>
|
#include <cstddef>
|
||||||
|
#include <string>
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
#include <utility>
|
#include <utility>
|
||||||
#include <stdexcept>
|
#include <stdexcept>
|
||||||
|
@ -18,7 +19,7 @@
|
||||||
#include <sprout/string/char_traits.hpp>
|
#include <sprout/string/char_traits.hpp>
|
||||||
#include <sprout/string/npos.hpp>
|
#include <sprout/string/npos.hpp>
|
||||||
#include <sprout/string/detail/operations.hpp>
|
#include <sprout/string/detail/operations.hpp>
|
||||||
#include HDR_ALGORITHM_SSCRISK_CEL_OR_SPROUT
|
#include HDR_ALGORITHM_MIN_MAX_SSCRISK_CEL_OR_SPROUT
|
||||||
#if SPROUT_USE_INDEX_ITERATOR_IMPLEMENTATION
|
#if SPROUT_USE_INDEX_ITERATOR_IMPLEMENTATION
|
||||||
# include <sprout/iterator/index_iterator.hpp>
|
# include <sprout/iterator/index_iterator.hpp>
|
||||||
#endif
|
#endif
|
||||||
|
@ -89,15 +90,18 @@ namespace sprout {
|
||||||
return sprout::basic_string<T, sizeof...(Indexes), Traits>{{(Indexes < M - 1 ? elems[Indexes] : T())...}, len};
|
return sprout::basic_string<T, sizeof...(Indexes), Traits>{{(Indexes < M - 1 ? elems[Indexes] : T())...}, len};
|
||||||
}
|
}
|
||||||
public:
|
public:
|
||||||
static SPROUT_CONSTEXPR basic_string from_c_str(value_type const* s, size_type n) {
|
static SPROUT_CONSTEXPR basic_string from_c_str(T const* s, size_type n) {
|
||||||
return !(N < n)
|
return !(N < n)
|
||||||
? from_c_str_impl(s, n, sprout::index_range<0, N>::make())
|
? from_c_str_impl(s, n, sprout::index_range<0, N>::make())
|
||||||
: throw std::out_of_range("basic_string<>: index out of range")
|
: throw std::out_of_range("basic_string<>: index out of range")
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
static SPROUT_CONSTEXPR basic_string from_c_str(value_type const* s) {
|
static SPROUT_CONSTEXPR basic_string from_c_str(T const* s) {
|
||||||
return from_c_str(s, traits_type::length(s));
|
return from_c_str(s, traits_type::length(s));
|
||||||
}
|
}
|
||||||
|
static SPROUT_CONSTEXPR basic_string from_c_str(std::basic_string<T, Traits> const& s) {
|
||||||
|
return from_c_str(s.data(), s.size());
|
||||||
|
}
|
||||||
public:
|
public:
|
||||||
value_type elems[static_size + 1];
|
value_type elems[static_size + 1];
|
||||||
size_type len;
|
size_type len;
|
||||||
|
@ -489,6 +493,12 @@ namespace sprout {
|
||||||
sprout::index_range<0, N2>::make()
|
sprout::index_range<0, N2>::make()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
#if SPROUT_USE_EXPLICIT_CONVERSION_OPERATORS
|
||||||
|
template<typename Allocator>
|
||||||
|
explicit operator std::basic_string<T, Traits, Allocator>() const {
|
||||||
|
return std::basic_string<T, Traits, Allocator>(data(), size());
|
||||||
|
}
|
||||||
|
#endif
|
||||||
pointer
|
pointer
|
||||||
c_array() SPROUT_NOEXCEPT {
|
c_array() SPROUT_NOEXCEPT {
|
||||||
return &elems[0];
|
return &elems[0];
|
||||||
|
@ -693,18 +703,12 @@ namespace sprout {
|
||||||
template<std::size_t M>
|
template<std::size_t M>
|
||||||
static SPROUT_CONSTEXPR typename copied_type::size_type
|
static SPROUT_CONSTEXPR typename copied_type::size_type
|
||||||
length_impl(sprout::array<T, M> const& arr) {
|
length_impl(sprout::array<T, M> const& arr) {
|
||||||
return sprout::distance(
|
return sprout::distance(arr.begin(), sprout::find(arr.begin(), arr.end(), T()));
|
||||||
arr.begin(),
|
|
||||||
sprout::find(arr.begin(), arr.end(), T())
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
template<typename... Args, sprout::index_t... Indexes>
|
template<typename... Args, sprout::index_t... Indexes>
|
||||||
static SPROUT_CONSTEXPR copied_type
|
static SPROUT_CONSTEXPR copied_type
|
||||||
make_impl(typename copied_type::size_type size, sprout::index_tuple<Indexes...>, Args&&... args) {
|
make_impl(typename copied_type::size_type size, sprout::index_tuple<Indexes...>, Args&&... args) {
|
||||||
return copied_type{
|
return copied_type{{(Indexes < size ? sprout::forward<Args>(args) : T())...}, size};
|
||||||
{(Indexes < size ? sprout::forward<Args>(args) : T())...},
|
|
||||||
size
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
public:
|
public:
|
||||||
template<typename... Args>
|
template<typename... Args>
|
||||||
|
@ -743,11 +747,11 @@ namespace sprout {
|
||||||
{
|
{
|
||||||
return sprout::basic_string<T, N - 1>{{(Indexes < n ? arr[Indexes] : T())...}, n};
|
return sprout::basic_string<T, N - 1>{{(Indexes < n ? arr[Indexes] : T())...}, n};
|
||||||
}
|
}
|
||||||
template<typename T, std::size_t N, sprout::index_t... Indexes>
|
template<typename T, std::size_t N>
|
||||||
inline SPROUT_CONSTEXPR sprout::basic_string<T, N - 1>
|
inline SPROUT_CONSTEXPR sprout::basic_string<T, N - 1>
|
||||||
to_string_impl(T const(& arr)[N], sprout::index_tuple<Indexes...>) {
|
to_string_impl(T const(& arr)[N]) {
|
||||||
typedef sprout::char_traits_helper<sprout::char_traits<T> > traits_type;
|
typedef sprout::char_traits_helper<typename sprout::basic_string<T, N - 1>::traits_type> helper_type;
|
||||||
return to_string_impl_1(arr, traits_type::length(arr, N - 1), sprout::index_tuple<Indexes...>());
|
return to_string_impl_1(arr, helper_type::length(arr, N - 1), sprout::index_range<0, N - 1>::make());
|
||||||
}
|
}
|
||||||
} // namespace detail
|
} // namespace detail
|
||||||
//
|
//
|
||||||
|
@ -761,7 +765,7 @@ namespace sprout {
|
||||||
template<typename T, std::size_t N>
|
template<typename T, std::size_t N>
|
||||||
inline SPROUT_CONSTEXPR sprout::basic_string<T, N - 1>
|
inline SPROUT_CONSTEXPR sprout::basic_string<T, N - 1>
|
||||||
to_string(T const(& arr)[N]) {
|
to_string(T const(& arr)[N]) {
|
||||||
return sprout::detail::to_string_impl(arr, sprout::index_range<0, N - 1>::make());
|
return sprout::detail::to_string_impl(arr);
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
|
@ -777,6 +781,11 @@ namespace sprout {
|
||||||
string_from_c_str(T const* s) {
|
string_from_c_str(T const* s) {
|
||||||
return sprout::basic_string<T, N>::from_c_str(s);
|
return sprout::basic_string<T, N>::from_c_str(s);
|
||||||
}
|
}
|
||||||
|
template<std::size_t N, typename T, typename Traits>
|
||||||
|
inline SPROUT_CONSTEXPR sprout::basic_string<T, N, Traits>
|
||||||
|
string_from_c_str(std::basic_string<T, Traits> const& s) {
|
||||||
|
return sprout::basic_string<T, N, Traits>::from_c_str(s);
|
||||||
|
}
|
||||||
} // namespace sprout
|
} // namespace sprout
|
||||||
|
|
||||||
#endif // #ifndef SPROUT_STRING_STRING_HPP
|
#endif // #ifndef SPROUT_STRING_STRING_HPP
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
#include <sprout/string/npos.hpp>
|
#include <sprout/string/npos.hpp>
|
||||||
#include <sprout/string/string.hpp>
|
#include <sprout/string/string.hpp>
|
||||||
#include <sprout/string/detail/operations.hpp>
|
#include <sprout/string/detail/operations.hpp>
|
||||||
#include HDR_ALGORITHM_SSCRISK_CEL_OR_SPROUT
|
#include HDR_ALGORITHM_MIN_MAX_SSCRISK_CEL_OR_SPROUT
|
||||||
#if SPROUT_USE_INDEX_ITERATOR_IMPLEMENTATION
|
#if SPROUT_USE_INDEX_ITERATOR_IMPLEMENTATION
|
||||||
# include <sprout/iterator/index_iterator.hpp>
|
# include <sprout/iterator/index_iterator.hpp>
|
||||||
#endif
|
#endif
|
||||||
|
@ -554,6 +554,11 @@ namespace sprout {
|
||||||
//
|
//
|
||||||
// to_string_ref
|
// to_string_ref
|
||||||
//
|
//
|
||||||
|
template<typename T, typename Traits>
|
||||||
|
inline SPROUT_CONSTEXPR sprout::basic_string_ref<T, Traits>
|
||||||
|
to_string_ref(sprout::basic_string_ref<T, Traits> const& s) {
|
||||||
|
return s;
|
||||||
|
}
|
||||||
template<typename T, std::size_t N, typename Traits>
|
template<typename T, std::size_t N, typename Traits>
|
||||||
inline SPROUT_CONSTEXPR sprout::basic_string_ref<T, Traits>
|
inline SPROUT_CONSTEXPR sprout::basic_string_ref<T, Traits>
|
||||||
to_string_ref(sprout::basic_string<T, N, Traits> const& s) {
|
to_string_ref(sprout::basic_string<T, N, Traits> const& s) {
|
||||||
|
|
Loading…
Reference in a new issue