xtd 0.2.0
ilist.hpp
Go to the documentation of this file.
1
4#pragma once
5#include "icollection.hpp"
6#include "../../size.hpp"
7#include <limits>
8
10namespace xtd {
12 namespace collections {
14 namespace generic {
40 template<class type_t>
41 class ilist : public icollection<type_t> {
42 public:
44
47 using iterator = typename icollection<type_t>::iterator;
49 using const_iterator = typename icollection<type_t>::const_iterator;
51
53
56 inline static constexpr xtd::size npos = std::numeric_limits<xtd::size>::max();
58
60
65 virtual bool is_fixed_size() const noexcept = 0;
67
69
75 virtual xtd::size index_of(const type_t& item) const noexcept = 0;
76
84 virtual void insert(xtd::size index, const type_t& item) = 0;
85
91 virtual void remove_at(xtd::size index) = 0;
93
95
100 virtual const type_t& operator [](xtd::size index) const = 0;
104 virtual type_t& operator [](xtd::size index) = 0;
106 };
107 }
108 }
109}
Contains xtd::collections::generic::icollection <type_t> interface.
size_t size
Represents a size of any object in bytes.
Definition size.hpp:23
@ insert
The INS (INSERT) key.
Definition console_key.hpp:62
The xtd::collections::generic namespace contains interfaces and classes that define generic collectio...
Definition comparer.hpp:16
The xtd::collections namespace contains interfaces and classes that define various collections of obj...
Definition any_pair.hpp:10
The xtd namespace contains all fundamental classes to access Hardware, Os, System,...
Definition abstract_object.hpp:8
Contains xtd::size type.