mirror of
https://github.com/bolero-MURAKAMI/Sprout.git
synced 2025-07-16 15:14:13 +00:00
fix container_traits for array-like classes
fix coding style algorithm/
This commit is contained in:
parent
06f1933220
commit
0c00166c5f
123 changed files with 1608 additions and 2224 deletions
|
@ -3,17 +3,15 @@
|
|||
|
||||
#include <sscrisk/cel/array.hpp>
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/container/traits.hpp>
|
||||
#if SPROUT_USE_INDEX_ITERATOR_IMPLEMENTATION
|
||||
# include <cstddef>
|
||||
# include <type_traits>
|
||||
# include <sprout/container/begin.hpp>
|
||||
# include <sprout/container/end.hpp>
|
||||
# include <sprout/container/traits.hpp>
|
||||
# include <sprout/iterator/index_iterator.hpp>
|
||||
#endif
|
||||
|
||||
namespace sprout {
|
||||
#if SPROUT_USE_INDEX_ITERATOR_IMPLEMENTATION
|
||||
namespace sprout {
|
||||
//
|
||||
// container_traits
|
||||
//
|
||||
|
@ -25,47 +23,37 @@ namespace sprout {
|
|||
typedef sprout::index_iterator<sscrisk::cel::array<T, N>&> iterator;
|
||||
typedef sprout::index_iterator<sscrisk::cel::array<T, N> const&> const_iterator;
|
||||
};
|
||||
} // namespace sprout
|
||||
|
||||
namespace sprout_adl {
|
||||
//
|
||||
// begin
|
||||
// range_begin
|
||||
//
|
||||
template<typename T, std::size_t N>
|
||||
inline typename sprout::container_traits<sscrisk::cel::array<T, N> >::iterator begin(sscrisk::cel::array<T, N>& cont) {
|
||||
inline typename sprout::container_traits<sscrisk::cel::array<T, N> >::iterator
|
||||
range_begin(sscrisk::cel::array<T, N>& cont) {
|
||||
return typename sprout::container_traits<sscrisk::cel::array<T, N> >::iterator(cont, 0);
|
||||
}
|
||||
template<typename T, std::size_t N>
|
||||
inline SPROUT_CONSTEXPR typename sprout::container_traits<sscrisk::cel::array<T, N> >::const_iterator begin(sscrisk::cel::array<T, N> const& cont) {
|
||||
inline SPROUT_CONSTEXPR typename sprout::container_traits<sscrisk::cel::array<T, N> >::const_iterator
|
||||
range_begin(sscrisk::cel::array<T, N> const& cont) {
|
||||
return typename sprout::container_traits<sscrisk::cel::array<T, N> >::const_iterator(cont, 0);
|
||||
}
|
||||
|
||||
//
|
||||
// cbegin
|
||||
// range_end
|
||||
//
|
||||
template<typename T, std::size_t N>
|
||||
inline SPROUT_CONSTEXPR typename sprout::container_traits<sscrisk::cel::array<T, N> >::const_iterator cbegin(sscrisk::cel::array<T, N> const& cont) {
|
||||
return typename sprout::container_traits<sscrisk::cel::array<T, N> >::const_iterator(cont, 0);
|
||||
}
|
||||
|
||||
//
|
||||
// end
|
||||
//
|
||||
template<typename T, std::size_t N>
|
||||
inline typename sprout::container_traits<sscrisk::cel::array<T, N> >::iterator end(sscrisk::cel::array<T, N>& cont) {
|
||||
inline typename sprout::container_traits<sscrisk::cel::array<T, N> >::iterator
|
||||
range_end(sscrisk::cel::array<T, N>& cont) {
|
||||
return typename sprout::container_traits<sscrisk::cel::array<T, N> >::iterator(cont, cont.size());
|
||||
}
|
||||
template<typename T, std::size_t N>
|
||||
inline SPROUT_CONSTEXPR typename sprout::container_traits<sscrisk::cel::array<T, N> >::const_iterator end(sscrisk::cel::array<T, N> const& cont) {
|
||||
return typename sprout::container_traits<sscrisk::cel::array<T, N> >::const_iterator(cont, cont.size());
|
||||
}
|
||||
|
||||
//
|
||||
// cend
|
||||
//
|
||||
template<typename T, std::size_t N>
|
||||
inline SPROUT_CONSTEXPR typename sprout::container_traits<sscrisk::cel::array<T, N> >::const_iterator cend(sscrisk::cel::array<T, N> const& cont) {
|
||||
inline SPROUT_CONSTEXPR typename sprout::container_traits<sscrisk::cel::array<T, N> >::const_iterator
|
||||
range_end(sscrisk::cel::array<T, N> const& cont) {
|
||||
return typename sprout::container_traits<sscrisk::cel::array<T, N> >::const_iterator(cont, cont.size());
|
||||
}
|
||||
} // namespace sprout_adl
|
||||
#endif
|
||||
} // namespace sprout
|
||||
|
||||
#endif // #ifndef SPROUT_ADAPT_SSCRISK_CEL_ARRAY_HPP
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue