forked from OctaForge/libostd
move initializer_list iter/citer to range.hh
This commit is contained in:
parent
6b3707c0dc
commit
67cbcb71eb
|
@ -13,7 +13,6 @@
|
||||||
|
|
||||||
#include "ostd/range.hh"
|
#include "ostd/range.hh"
|
||||||
#include "ostd/utility.hh"
|
#include "ostd/utility.hh"
|
||||||
#include "ostd/initializer_list.hh"
|
|
||||||
|
|
||||||
namespace ostd {
|
namespace ostd {
|
||||||
|
|
||||||
|
|
|
@ -1,27 +0,0 @@
|
||||||
/* Initializer list support for OctaSTD.
|
|
||||||
*
|
|
||||||
* This file is part of OctaSTD. See COPYING.md for futher information.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef OSTD_INITIALIZER_LIST_HH
|
|
||||||
#define OSTD_INITIALIZER_LIST_HH
|
|
||||||
|
|
||||||
#include <initializer_list>
|
|
||||||
|
|
||||||
#include "ostd/range.hh"
|
|
||||||
|
|
||||||
namespace ostd {
|
|
||||||
|
|
||||||
template<typename T>
|
|
||||||
IteratorRange<T const *> iter(std::initializer_list<T> init) noexcept {
|
|
||||||
return IteratorRange<T const *>(init.begin(), init.end());
|
|
||||||
}
|
|
||||||
|
|
||||||
template<typename T>
|
|
||||||
IteratorRange<T const *> citer(std::initializer_list<T> init) noexcept {
|
|
||||||
return IteratorRange<T const *>(init.begin(), init.end());
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif
|
|
|
@ -14,6 +14,7 @@
|
||||||
#include <utility>
|
#include <utility>
|
||||||
#include <iterator>
|
#include <iterator>
|
||||||
#include <type_traits>
|
#include <type_traits>
|
||||||
|
#include <initializer_list>
|
||||||
|
|
||||||
#include "ostd/types.hh"
|
#include "ostd/types.hh"
|
||||||
#include "ostd/utility.hh"
|
#include "ostd/utility.hh"
|
||||||
|
@ -1807,6 +1808,16 @@ IteratorRange<T> make_range(T beg, size_t n) {
|
||||||
return IteratorRange<T>{beg, beg + n};
|
return IteratorRange<T>{beg, beg + n};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
template<typename T>
|
||||||
|
IteratorRange<T const *> iter(std::initializer_list<T> init) noexcept {
|
||||||
|
return IteratorRange<T const *>(init.begin(), init.end());
|
||||||
|
}
|
||||||
|
|
||||||
|
template<typename T>
|
||||||
|
IteratorRange<T const *> citer(std::initializer_list<T> init) noexcept {
|
||||||
|
return IteratorRange<T const *>(init.begin(), init.end());
|
||||||
|
}
|
||||||
|
|
||||||
template<typename T, size_t N>
|
template<typename T, size_t N>
|
||||||
struct ranged_traits<T[N]> {
|
struct ranged_traits<T[N]> {
|
||||||
static IteratorRange<T *> iter(T (&array)[N]) {
|
static IteratorRange<T *> iter(T (&array)[N]) {
|
||||||
|
|
Loading…
Reference in a new issue