1

allow to retrieve bse::array buffer address

This commit is contained in:
2022-07-24 00:08:00 +02:00
parent afd5a9599d
commit 4aa6d089ca

View File

@ -16,16 +16,18 @@ namespace bse {
T buf[N]; T buf[N];
public: public:
array() {}; // If i write default something like bse::array<int, 10> arr; is not initialized...
iterator begin() { return iterator(&buf[0]); } iterator begin() { return iterator(&buf[0]); }
iterator begin() const { return iterator(&buf[0]); }
iterator end() { return iterator(&buf[N]); } iterator end() { return iterator(&buf[N]); }
iterator end() const { return iterator(&buf[N]); }
T& operator[](std::size_t i) { T& operator[](std::size_t i) { return this->buf[i]; }
return this->buf[i]; constexpr const T& operator[](std::size_t i) const { return this->buf[i]; }
}
constexpr const T& operator[](std::size_t i) const { T* operator&() { return &buf[0]; } // Not standard, I don't know yet if this will turn out to be a bad idea
return this->buf[i]; const T* operator&() const { return &buf[0]; }
}
void swap(array<T, N>& other) { void swap(array<T, N>& other) {
for (std::size_t i = 0; i < N; ++i) { for (std::size_t i = 0; i < N; ++i) {