Files
Upsilon/libaxx/include/initializer_list
2020-04-10 13:35:14 -04:00

34 lines
674 B
Plaintext

#ifndef LIBAXX_INITIALIZER_LIST
#define LIBAXX_INITIALIZER_LIST
namespace std {
template<class T>
class initializer_list {
public:
initializer_list() noexcept : m_begin(nullptr), m_size(0) {}
const T * begin() const noexcept { return m_begin; }
const T * end() const noexcept { return m_begin + m_size; }
private:
initializer_list(const T * begin, size_t size) noexcept
: m_begin(begin),
m_size(size)
{}
const T * m_begin;
size_t m_size;
};
template<class T>
inline const T * begin(initializer_list<T> il) noexcept {
return il.begin();
}
template<class T>
inline const T * end(initializer_list<T> il) noexcept {
return il.end();
}
}
#endif