#include <array2d.h>
shttl::array2d< T, Allocator >のコラボレーション図
Public 型 | |
typedef std::allocator< T > | allocator_type |
typedef const T * | const_pointer |
typedef const T & | const_reference |
typedef ssize_t | difference_type |
typedef T * | pointer |
typedef T & | reference |
typedef size_t | size_type |
typedef array2d< T > | this_type |
typedef T | value_type |
Public メソッド | |
array2d (const size_type c, const size_type r, const T &t=T()) | |
iterator | begin () |
const_iterator | begin () const |
size_type | cols () const |
iterator | end () |
const_iterator | end () const |
size_type | max_size () const |
iterator | operator[] (const size_type r) |
const const_iterator | operator[] (const size_type r) const |
size_type | rows () const |
size_type | size () const |
~array2d () | |
Static Public 変数 | |
static const std::numeric_limits< size_type > | size_info |
Protected 変数 | |
allocator_type | _a |
const size_type | _col |
const size_type | _col_bit |
value_type *const | _ptr |
const size_type | _row |
構成 | |
class | _iterator_base |
class | const_iterator |
class | iterator |
typedef std::allocator<T> shttl::array2d< T, Allocator >::allocator_type |
typedef const T* shttl::array2d< T, Allocator >::const_pointer |
typedef const T& shttl::array2d< T, Allocator >::const_reference |
typedef ssize_t shttl::array2d< T, Allocator >::difference_type |
typedef T* shttl::array2d< T, Allocator >::pointer |
typedef T& shttl::array2d< T, Allocator >::reference |
typedef size_t shttl::array2d< T, Allocator >::size_type |
typedef array2d<T> shttl::array2d< T, Allocator >::this_type |
typedef T shttl::array2d< T, Allocator >::value_type |
shttl::array2d< T, Allocator >::array2d | ( | const size_type | c, | |
const size_type | r, | |||
const T & | t = T() | |||
) | [inline, explicit] |
参照先 shttl::array2d< T, Allocator >::_col_bit・shttl::array2d< T, Allocator >::_ptr.
00365 : 00366 _row(r), _col(c), 00367 _col_bit(_c2b(c)), 00368 _ptr(_a.allocate((size_t)r << _col_bit)) 00369 { 00370 if (r <= 0 || c <= 0) 00371 throw std::invalid_argument("array2d::array2d"); 00372 00373 for (size_type i = 0; i < (r << _col_bit); ++i) 00374 _ptr[i] = t; 00375 }
shttl::array2d< T, Allocator >::~array2d | ( | ) | [inline] |
参照先 shttl::array2d< T, Allocator >::_a・shttl::array2d< T, Allocator >::_col_bit・shttl::array2d< T, Allocator >::_ptr・shttl::array2d< T, Allocator >::rows().
00378 { 00379 for (size_type i = 0; i < (rows() << _col_bit); ++i) 00380 _a.destroy(_ptr + i); 00381 _a.deallocate(_ptr, (size_t)rows() << _col_bit); 00382 }
関数の呼び出しグラフ:
iterator shttl::array2d< T, Allocator >::begin | ( | ) | [inline] |
const_iterator shttl::array2d< T, Allocator >::begin | ( | ) | const [inline] |
size_type shttl::array2d< T, Allocator >::cols | ( | ) | const [inline] |
参照先 shttl::array2d< T, Allocator >::_col.
参照元 shttl::array2d< T, Allocator >::iterator::operator *()・shttl::array2d< T, Allocator >::const_iterator::operator *()・shttl::array2d< T, Allocator >::size().
00337 { return _col; }
Here is the caller graph for this function:
iterator shttl::array2d< T, Allocator >::end | ( | ) | [inline] |
参照先 shttl::array2d< T, Allocator >::size().
00422 { 00423 return iterator(this, size(), 0); 00424 }
関数の呼び出しグラフ:
const_iterator shttl::array2d< T, Allocator >::end | ( | ) | const [inline] |
参照先 shttl::array2d< T, Allocator >::size().
00414 { 00415 return const_iterator(this, size(), 0); 00416 }
関数の呼び出しグラフ:
size_type shttl::array2d< T, Allocator >::max_size | ( | ) | const [inline] |
iterator shttl::array2d< T, Allocator >::operator[] | ( | const size_type | r | ) | [inline] |
参照先 shttl::array2d< T, Allocator >::rows().
00397 { 00398 #ifdef SHTTL_DEBUG 00399 if (r < 0 || rows() <= r) 00400 throw std::out_of_range("array2d::operator[]"); 00401 #endif 00402 00403 return iterator(this, r, 0); 00404 }
関数の呼び出しグラフ:
const const_iterator shttl::array2d< T, Allocator >::operator[] | ( | const size_type | r | ) | const [inline] |
参照先 shttl::array2d< T, Allocator >::rows().
00387 { 00388 #ifdef SHTTL_DEBUG 00389 if (r < 0 || rows() <= r) 00390 throw std::out_of_range("array2d::operator[]"); 00391 #endif 00392 00393 return const_iterator(this, r, 0); 00394 }
関数の呼び出しグラフ:
size_type shttl::array2d< T, Allocator >::rows | ( | ) | const [inline] |
参照先 shttl::array2d< T, Allocator >::_row.
参照元 shttl::array2d< T, Allocator >::iterator::operator *()・shttl::array2d< T, Allocator >::const_iterator::operator *()・shttl::array2d< T, Allocator >::operator[]()・shttl::array2d< T, Allocator >::size()・shttl::array2d< T, Allocator >::~array2d().
00336 { return _row; }
Here is the caller graph for this function:
size_type shttl::array2d< T, Allocator >::size | ( | ) | const [inline] |
参照先 shttl::array2d< T, Allocator >::cols()・shttl::array2d< T, Allocator >::rows().
参照元 shttl::array2d< T, Allocator >::end()・shttl::array2d< T, Allocator >::max_size().
関数の呼び出しグラフ:
Here is the caller graph for this function:
allocator_type shttl::array2d< T, Allocator >::_a [protected] |
const size_type shttl::array2d< T, Allocator >::_col [protected] |
const size_type shttl::array2d< T, Allocator >::_col_bit [protected] |
value_type* const shttl::array2d< T, Allocator >::_ptr [protected] |
const size_type shttl::array2d< T, Allocator >::_row [protected] |
const std::numeric_limits<size_type> shttl::array2d< T, Allocator >::size_info [static] |