1 апр. 2009 г.

Использование boost:array

Данный класс представляет собой 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

Комментариев нет:

Отправить комментарий