31 #ifndef LEDGER_CORE_SEQUENCE_HPP 32 #define LEDGER_CORE_SEQUENCE_HPP 36 #include "../utils/Exception.hpp" 41 template <
typename T,
typename Container>
55 return this->operator[](index);
64 return this->operator[](index);
71 T& operator[](
size_t index) {
72 return _container[index];
75 const T& operator[](
size_t index)
const {
76 return _container[index];
80 return _container.size();
83 void remove(
size_t index) {
85 throw Exception(api::ErrorCode::OUT_OF_RANGE, fmt::format(
"Index {} is out of range ({})", index, size()));
86 auto it = _container.begin();
87 std::advance(it, index);
92 _container.push_back(v);
104 template<
typename Result>
107 for (
auto& item : _container) {
117 template <
typename T>
120 template <
typename T>
126 #endif //LEDGER_CORE_SEQUENCE_HPP Definition: Option.hpp:49
Definition: FutureUtils.hpp:48
Definition: Account.cpp:8
Definition: optional.hpp:177
Definition: Sequence.hpp:42
Definition: Exception.hpp:45