ホーム | ブログ | C++辞典 | サイトマップ | FAQ | 掲示板 | リンク集
メイン・メニュー
インデックス
プログラミング
その他
Top / <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) と等価である。


トップ   編集 差分 バックアップ 添付 複製 名前変更   一覧 単語検索   ヘルプ   最終更新のRSS
Counter: 7116, today: 1, yesterday: 0
Last-modified: Fri, 27 Jan 2006 00:28:21 JST (4261d)
 ホーム | プロフィール | メール | ログイン | 管理
Copyright © 2005-2009 by TAKAGI Nobuhisa