1
0
Fork 0
mirror of https://github.com/KingDuckZ/dindexer.git synced 2025-08-11 14:19:49 +00:00

Prevent values being stolen accidentally and provide proper overloads.

This commit is contained in:
King_DuckZ 2016-07-13 12:17:54 +01:00
parent f58d7d84eb
commit 12c062b939
2 changed files with 19 additions and 8 deletions

View file

@ -104,7 +104,15 @@ namespace dinhelp {
///-------------------------------------------------------------------------
///-------------------------------------------------------------------------
template <typename T, size_t S, typename A>
typename MaxSizedArray<T, S, A>::mov_reference MaxSizedArray<T, S, A>::operator[] (size_type parIndex) {
typename MaxSizedArray<T, S, A>::reference MaxSizedArray<T, S, A>::operator[] (size_type parIndex) & {
assert(parIndex < size());
return m_localMem[parIndex];
}
///-------------------------------------------------------------------------
///-------------------------------------------------------------------------
template <typename T, size_t S, typename A>
typename MaxSizedArray<T, S, A>::mov_reference MaxSizedArray<T, S, A>::operator[] (size_type parIndex) && {
assert(parIndex < size());
return std::move(m_localMem[parIndex]);
}
@ -112,7 +120,7 @@ namespace dinhelp {
///-------------------------------------------------------------------------
///-------------------------------------------------------------------------
template <typename T, size_t S, typename A>
typename MaxSizedArray<T, S, A>::const_reference MaxSizedArray<T, S, A>::operator[] (size_type parIndex) const {
typename MaxSizedArray<T, S, A>::const_reference MaxSizedArray<T, S, A>::operator[] (size_type parIndex) const & {
assert(parIndex < size());
return m_localMem[parIndex];
}