Данный класс представляет собой STL-совместимый контейнер для массивов с постоянным размером.
Разработан Николаи Джоссатисом (автором таких книг как C++ Standard Library и C++ Templates)
Описание.
Конструктор.
template<typename U> array& operator=(const array<U, N>& other);
Создаёт экземпляр объекта array
Итераторы.
iterator begin(); const_iterator begin() const;
Представляют соответственно неконстантный и константный итераторы для первого элемента array.
iterator end(); const_iterator end() const;
Представляют соответственно неконстантный и константный итераторы для конечного элемента array.
Обратные итераторы.
iterator rbegin(); const_iterator rbegin() const;
Представляют соответственно обратные неконстантный и константный итераторы для первого элемента array.
iterator rend(); const_iterator rend() const;
Представляют соответственно обратные неконстантный и константный итераторы для конечного элемента array.
Ёмкость.
array size_type size();
Возвращает число элементов array
bool empty();
Если array пустой возвращает true.
size_type max_size();
Возвращает максимальное число элементов.
Доступ к элементам array.
reference operator[](size_type i); const_reference operator[](size_type i) const;
Возвращает элемент с индексом i.
В случает доступа к элементу с несуществующим индексом исключения не вызывается.
reference at(size_type i); const_reference at(size_type i) const;
Возвращает элемент с индексом i.
В случает доступа к элементу с несуществующим индексом вызывается исключение std::range_error.
reference front(); const_reference front() const;
Возвращает первый элемент.
reference back(); const_reference back() const;
Возвращает последний элемент.
T* c_array(); const T* data() const;
Возвращает указатель на массив элементов типа T.
Модификаторы array.
void swap(array<T, N>& other);
Обмен элементами между двумя объектами типа array.
void assign(const T& value);
Заполнить array элементами из другого объектаСпециализированные алгоритмы
template<typename T, std::size_t N> void swap(array<T, N>& x, array<T, N>& y);
Обмен элементами между двумя объектами типа array.
Операторы сравнения для array.
template<typename T, std::size_t N> bool operator==(const array<T, N>& x, const array<T, N>& y); template<typename T, std::size_t N> bool operator!=(const array<T, N>& x, const array<T, N>& y); template<typename T, std::size_t N> bool operator<(const array<T, N>& x, const array<T, N>& y); template<typename T, std::size_t N> bool operator>(const array<T, N>& x, const array<T, N>& y); template<typename T, std::size_t N> bool operator<=(const array<T, N>& x, const array<T, N>& y); template<typename T, std::size_t N> bool operator>=(const array<T, N>& x, const array<T, N>& y);
P.S.: Нагло спёрто отсюда: forum.vingrad.ru -> Boost:Array
Комментариев нет:
Отправить комментарий