32 lines
764 B
C++
Executable File
32 lines
764 B
C++
Executable File
// License: Modified MIT (NON-AI)
|
|
// See the LICENSE file in the root directory for license information.
|
|
// Copyright 2025 Timothy Prepscius
|
|
|
|
#pragma once
|
|
|
|
#include "Vector.h"
|
|
#include "FilledArray.h"
|
|
|
|
namespace tjp {
|
|
namespace core {
|
|
|
|
struct SafeIterationException;
|
|
|
|
template<class container, class iterator_type, class reference_type, class microsoftfix>
|
|
class SafeIterator;
|
|
|
|
template<typename T>
|
|
using SafeIteratorMutable =
|
|
SafeIterator<T, typename T::iterator, typename T::reference, char>;
|
|
|
|
template<typename T>
|
|
using SafeIteratorConst =
|
|
SafeIterator<T, typename T::const_iterator, typename T::const_reference, int>;
|
|
|
|
|
|
template<typename T, typename CM=FilledArray<SafeIteratorMutable<T> *, 1>>
|
|
class SafeIteration;
|
|
|
|
} // namespace utilities
|
|
} // namespace
|