1#ifndef BL_RAWARRAYWRAPPER_HPP
2#define BL_RAWARRAYWRAPPER_HPP
34template<
typename blDataType>
63 template<
size_t blArraySize>
70 const size_t& arraySize);
94 blDataType&
operator[](
const size_t elementIndex);
95 const blDataType&
operator[](
const size_t elementIndex)
const;
143template<
typename blDataType>
152template<
typename blDataType>
153template<
size_t blArraySize>
157 m_containerIter =
iterator(&rawStaticArray[0]);
159 m_size = blArraySize;
165template<
typename blDataType>
167 const size_t& arraySize)
169 m_containerIter =
iterator(rawArray);
176template<
typename blDataType>
182 return m_containerIter;
188template<
typename blDataType>
194 return m_containerIter;
200template<
typename blDataType>
206 if(
this == &rawArrayWrapper)
209 auto iter1 = cbegin();
210 auto iter2 = rawArrayWrapper.
cbegin();
213 iter1 != cend(),iter2 != rawArrayWrapper.
cend();
216 if((*iter1) != (*iter2))
226template<
typename blDataType>
229 return !( (*this) == array );
235template<
typename blDataType>
238 return m_containerIter[elementIndex];
244template<
typename blDataType>
247 return m_containerIter[elementIndex];
253template<
typename blDataType>
262template<
typename blDataType>
271template<
typename blDataType>
280template<
typename blDataType>
283 return (m_size != 0);
291template<
typename blDataType>
294 return m_containerIter;
297template<
typename blDataType>
301 return (m_containerIter +
static_cast<ptrdiff_t
>(size()));
303 return m_containerIter;
306template<
typename blDataType>
309 return m_containerIter;
312template<
typename blDataType>
316 return (m_containerIter + size());
318 return m_containerIter;
321template<
typename blDataType>
324 if(m_containerIter && (size() > 0))
325 return reverse_iterator(m_containerIter +
static_cast<ptrdiff_t
>(size()) - 1);
327 return m_containerIter;
330template<
typename blDataType>
333 if(m_containerIter && (size() > 0))
334 return (m_containerIter - 1);
336 return m_containerIter;
339template<
typename blDataType>
342 if(m_containerIter && (size() > 0))
343 return (m_containerIter + size() - 1);
345 return m_containerIter;
348template<
typename blDataType>
351 if(m_containerIter && (size() > 0))
352 return (m_containerIter - 1);
354 return m_containerIter;
363template<
typename blDataType,
size_t blArraySize>
369template<
typename blDataType>
371 const size_t& arraySize)
blRawArrayWrapper< blDataType > getRawArrayWrapper(blDataType(&rawStaticArray)[blArraySize])
blRawIterator< blDataType > iterator
const iterator & getContainerIter() const
const_reverse_iterator crbegin() const
blRawIterator< const blDataType > const_iterator
blRawArrayWrapper< blDataType > & operator=(blRawArrayWrapper< blDataType > &&)=default
bool operator==(const blRawArrayWrapper< blDataType > &array) const
blDataType & operator[](const size_t elementIndex)
bool operator!=(const blRawArrayWrapper< blDataType > &array) const
blRawArrayWrapper(const blRawArrayWrapper< blDataType > &rawArrayWrapper)=default
reverse_iterator rbegin()
const_iterator cend() const
const_iterator cbegin() const
const_iterator getContainerConstIter() const
blRawArrayWrapper< blDataType > & operator=(const blRawArrayWrapper< blDataType > &)=default
blRawReverseIterator< const blDataType > const_reverse_iterator
blRawArrayWrapper(blRawArrayWrapper< blDataType > &&rawArrayWrapper)=default
blRawReverseIterator< blDataType > reverse_iterator
const_reverse_iterator crend() const