<vector>ヘッダ †
- <vector>ヘッダ
- vector クラステンプレート
- reference
- const_reference
- iterator
- const_iterator
- size_type
- difference_type
- value_type
- allocator_type
- pointer
- const_pointer
- reverse_iterator
- const_reverse_iterator
- コンストラクタ
- デストラクタ
- operator=
- assign
- get_allocator
- begin
- end
- rbegin
- rend
- size
- max_size
- resize
- capacity
- empty
- reserve
- operator[]
- at
- front
- back
- push_back
- insert
- erase
- swap
- clear
- vector の特殊化
- 関数
- vector クラステンプレート
vector クラステンプレート †
namespace std {
template<class T, class Allocator = allocator<T> >
class vector {
public:
typedef typename Allocator::reference reference;
typedef typename Allocator::const_reference const_reference;
typedef 処理系定義 iterator;
typedef 処理系定義 const_iterator;
typedef 処理系定義 size_type;
typedef 処理系定義 difference_type;
typedef T value_type;
typedef Allocator allocator_type;
typedef typename Allocator::pointer pointer;
typedef typename Allocator::const_pointer const_pointer;
typedef std::reverse_iterator<iterator> reverse_iterator;
typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
explicit vector(const Allocator& a = Allocator());
explicit vector(size_type n, const value_type& value = T(),
const Allocator& a = Allocator());
template<class InputIterator>
vector(InputIterator first, InputIterator last, const Allocator& a = Allocator());
vector(const vector<T, Allocator>& x);
~vector();
vector<T, Allocator>& operator=(const vector<T, Allocator>& x);
template<class InputIterator>
vector<T, Allocator>& assign(InputIterator first, InputIterator last);
vector<T, Allocator>& assign(size_type n, const T& u);
allocator_type get_allocator() const;
iterator begin();
const_iterator begin() const;
iterator end();
const_iterator end() const;
reverse_iterator rbegin();
const_reverse_iterator rbegin() const;
reverse_iterator rend();
const_reverse_iterator rend() const;
size_type size() const:
size_type max_size() const;
void resize(size_type sz, const T& c = T());
size_type capacity() const;
bool empty() const;
void reserve(size_type n);
reference operator[](size_type n);
const_reference operator[](size_type n) const;
reference at(size_type n);
const_reference at(size_type n) const;
reference front();
const_reference front() const;
reference back();
const_reference back() const;
void push_back(const T& x);
void pop_back();
iterator insert(iterator position, const T& x);
void insert(iterator position, size_type n, const T& x);
template<class InputIterator>
void insert(iterator position, InputIterator first, InputIterator last);
void erase(iterator position);
void erase(iterator first, iterator last);
void swap(vector<T, Allocator>& x);
void clear();
};
}
reference †
形式
typedef typename Allocator::reference reference;
const_reference †
形式
typedef typename Allocator::const_reference const_reference;
iterator †
形式
typedef 処理系定義 iterator;
const_iterator †
形式
typedef 処理系定義 const_iterator;
size_type †
形式
typedef 処理系定義 size_type;
difference_type †
形式
typedef 処理系定義 difference_type;
value_type †
形式
typedef T value_type;
allocator_type †
アロケータ型
形式
typedef Allocator allocator_type;
pointer †
形式
typedef typename Allocator::pointer pointer;
const_pointer †
形式
typedef typename Allocator::const_pointer const_pointer;
reverse_iterator †
形式
typedef std::reverse_iterator<iterator> reverse_iterator;
const_reverse_iterator †
形式
typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
コンストラクタ †
形式
explicit vector(const Allocator& a = Allocator());
explicit vector(size_type n, const value_type& value = T(),
const Allocator& a = Allocator());
template<class InputIterator>
vector(InputIterator first, InputIterator last, const Allocator& a = Allocator());
vector(const vector<T, Allocator>& x);
デストラクタ †
形式
~vector();
operator= †
形式
vector<T, Allocator>& operator=(const vector<T, Allocator>& x);
assign †
形式
template<class InputIterator>
vector<T, Allocator>& assign(InputIterator first, InputIterator last);
vector<T, Allocator>& assign(size_type n, const T& u);
get_allocator †
形式
allocator_type get_allocator() const;
begin †
形式
iterator begin();
const_iterator begin() const;
end †
形式
iterator end();
const_iterator end() const;
rbegin †
形式
reverse_iterator rbegin();
const_reverse_iterator rbegin() const;
rend †
形式
reverse_iterator rend();
const_reverse_iterator rend() const;
size †
形式
size_type size() const:
max_size †
形式
size_type max_size() const;
resize †
形式
void resize(size_type sz, const T& c = T());=
capacity †
形式
size_type capacity() const;
empty †
形式
bool empty() const;
reserve †
形式
void reserve(size_type n);
operator[] †
形式
reference operator[](size_type n);
const_reference operator[](size_type n) const;
at †
形式
reference at(size_type n);
const_reference at(size_type n) const;
front †
形式
reference front();
const_reference front() const;
back †
形式
reference back();
const_reference back() const;
push_back †
形式
void push_back(const T& x);
void pop_back();
insert †
形式
iterator insert(iterator position, const T& x);
void insert(iterator position, size_type n, const T& x);
template<class InputIterator>
void insert(iterator position, InputIterator first, InputIterator last);
erase †
形式
void erase(iterator position);
void erase(iterator first, iterator last);
swap †
形式
void swap(vector<T, Allocator>& x);
clear †
形式
void clear();
解説
erase(this->begin(), this->end()) と等価である。実行後は size() == 0 となる。
計算量
size() に対して線形である。
vector の特殊化 †
namespace std {
template<class Allocator>
class vector<bool, Allocator> {
public:
typedef bool const_reference;
typedef 処理系定義 iterator;
typedef 処理系定義 const_iterator;
typedef 処理系定義 size_type;
typedef 処理系定義 difference_type;
typedef bool value_type;
typedef Allocator allocator_type;
typedef 処理系定義 pointer;
typedef 処理系定義 const_pointer;
typedef std::reverse_iterator<iterator> reverse_iterator;
typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
class reference {
friend class vector;
refernece();
public:
~reference();
operator bool() const;
reference& operator=(const bool& x);
reference& operator=(const refernece& x);
void flip(); // ビットを反転する
};
explicit vector(const Allocator& a = Allocator());
explicit vector(size_type n, const bool& value = bool(),
const Allocator& a = Allocator());
template<class InputIterator>
vector(InputIterator first, InputIterator last, const Allocator& a = Allocator());
vector(const vector<bool, Allocator>& x);
~vector();
vector<bool, Allocator>& operator=(const vector<bool, Allocator>& x);
template<class InputIterator>
vector<bool, Allocator>& assign(InputIterator first, InputIterator last);
vector<bool, Allocator>& assign(size_type n, const bool& u);
allocator_type get_allocator() const;
iterator begin();
const_iterator begin() const;
iterator end();
const_iterator end() const;
reverse_iterator rbegin();
const_reverse_iterator rbegin() const;
reverse_iterator rend();
const_reverse_iterator rend() const;
size_type size() const:
size_type max_size() const;
void resize(size_type sz, const bool& c = bool());
size_type capacity() const;
bool empty() const;
void reserve(size_type n);
reference operator[](size_type n);
const_reference operator[](size_type n) const;
reference at(size_type n);
const_reference at(size_type n) const;
reference front();
const_reference front() const;
reference back();
const_reference back() const;
void push_back(const bool& x);
void pop_back();
iterator insert(iterator position, const bool& x);
void insert(iterator position, size_type n, const bool& x);
template<class InputIterator>
void insert(iterator position, InputIterator first, InputIterator last);
void erase(iterator position);
void erase(iterator first, iterator last);
void swap(vector<bool, Allocator>& x);
void clear();
};
}
関数 †
swap †
コンテナの交換
形式
namespace std {
template <class T, class Allocator>
void swap(vector<T, Allocator>& x, vector<T, Allocator>& y);
}
解説
x.swap(y) と等価である。
Last-modified: Fri, 27 Jan 2006 00:28:21 JST (5468d)