#include <xbitset.h>
shttl::xbitset< N >に対する継承グラフ
Public 型 | |
typedef shttl_bitset< N > | base_type |
typedef ssize_t | size_type |
typedef xbitset< N > | this_type |
Public メソッド | |
template<> | |
const signed char | _find_0_map [16] |
template<> | |
const signed char | _find_0_map [16] |
template<> | |
const signed char | _find_0_map [16] |
template<> | |
const signed char | _find_0_map [16] |
bool | all (const bool v) const |
bool | all () const |
bool | any (const bool v) const |
bool | any () const |
const const_reference | at (const size_type p) const |
this_type & | dec () |
size_type | find (const int v=0, const size_type s=0) const |
size_type | find_and_flip (const int v=0, const size_type s=0) |
this_type & | inc () |
bool | none (const bool v) const |
bool | none () const |
u64 | operator++ (int) |
this_type & | operator++ () |
u64 | operator-- (int) |
this_type & | operator-- () |
xbitset & | operator= (const xbitset &rhs) |
const const_reference | operator[] (const size_type p) const |
void | reset (void) |
xbitset (const xbitset &rhs) | |
template<class C, class R, class A> | |
xbitset (const std::basic_string< C, R, A > &s, typename std::basic_string< C, R, A >::size_type p=0, typename std::basic_string< C, R, A >::size_type l=-1) | |
xbitset (const u64 v=0) | |
Static Public 変数 | |
static const size_type | npos = -1 |
Protected メソッド | |
size_type | _find (const int v, const size_type s) const |
Static Protected 変数 | |
static const signed char | _find_0_map [16] |
構成 | |
class | const_reference |
class | reference |
typedef shttl_bitset<N> shttl::xbitset< N >::base_type |
typedef ssize_t shttl::xbitset< N >::size_type |
typedef xbitset<N> shttl::xbitset< N >::this_type |
shttl::xbitset< N >::xbitset | ( | const u64 | v = 0 |
) | [inline] |
shttl::xbitset< N >::xbitset | ( | const std::basic_string< C, R, A > & | s, | |
typename std::basic_string< C, R, A >::size_type | p = 0 , |
|||
typename std::basic_string< C, R, A >::size_type | l = -1 | |||
) | [inline, explicit] |
shttl::xbitset< N >::xbitset | ( | const xbitset< N > & | rhs | ) | [inline] |
size_type shttl::xbitset< N >::_find | ( | const int | v, | |
const size_type | s | |||
) | const [protected] |
const signed char shttl::xbitset< 4 >::_find_0_map | ( | ) |
const signed char shttl::xbitset< 3 >::_find_0_map | ( | ) |
const signed char shttl::xbitset< 2 >::_find_0_map | ( | ) |
const signed char shttl::xbitset< 1 >::_find_0_map | ( | ) |
bool shttl::xbitset< N >::all | ( | const bool | v | ) | const [inline] |
bool shttl::xbitset< N >::all | ( | ) | const [inline] |
参照先 shttl::shttl_bitset< N >::test().
参照元 shttl::xbitset< N >::all()・shttl::xbitset< N >::any()・shttl::xbitset< N >::none().
00142 { 00143 for (int p = 0; p < N; ++p) 00144 if (!base_type::test(p)) 00145 return false; 00146 return true; 00147 }
関数の呼び出しグラフ:
Here is the caller graph for this function:
bool shttl::xbitset< N >::any | ( | const bool | v | ) | const [inline] |
bool shttl::xbitset< N >::any | ( | ) | const [inline] |
shttl::shttl_bitset< N >を再定義しています。
参照先 shttl::shttl_bitset< N >::test().
参照元 shttl::xbitset< N >::any().
00158 { 00159 for (int p = 0; p < N; ++p) 00160 if (base_type::test(p)) 00161 return true; 00162 return false; 00163 }
関数の呼び出しグラフ:
Here is the caller graph for this function:
const const_reference shttl::xbitset< N >::at | ( | const size_type | p | ) | const [inline] |
参照先 shttl::xbitset< N >::operator[]()・shttl::shttl_bitset< N >::size().
00131 { 00132 if (p < 0 || size() <= p){ 00133 throw std::out_of_range("xbitset::at"); 00134 } 00135 00136 return operator[](p); 00137 }
関数の呼び出しグラフ:
this_type& shttl::xbitset< N >::dec | ( | ) | [inline] |
参照先 shttl::shttl_bitset< N >::size()・shttl::shttl_bitset< N >::to_ulong().
00254 { 00255 u64 v = to_ulong(); 00256 if (v > umin(size())) 00257 *this = v - 1; 00258 else 00259 throw std::underflow_error("xbitset::dec"); 00260 return *this; 00261 }
関数の呼び出しグラフ:
size_type shttl::xbitset< N >::find | ( | const int | v = 0 , |
|
const size_type | s = 0 | |||
) | const [inline] |
参照先 shttl::xbitset< N >::_find()・shttl::xbitset< N >::_find_0_map()・shttl::shttl_bitset< N >::size()・shttl::shttl_bitset< N >::to_ulong().
参照元 shttl::xbitset< N >::find_and_flip().
00177 { 00178 #ifdef SHTTL_DEBUG 00179 if (s < 0 || size() <= s){ 00180 throw std::out_of_range("xbitset::find"); 00181 } 00182 #endif 00183 00184 if (v == 0 && s == 0 && size() <= 4) 00185 return _find_0_map[to_ulong()]; 00186 else 00187 return _find(v, s); 00188 }
関数の呼び出しグラフ:
Here is the caller graph for this function:
size_type shttl::xbitset< N >::find_and_flip | ( | const int | v = 0 , |
|
const size_type | s = 0 | |||
) | [inline] |
参照先 shttl::xbitset< N >::find()・shttl::shttl_bitset< N >::flip()・shttl::xbitset< N >::npos・shttl::shttl_bitset< N >::size().
00192 { 00193 #ifdef SHTTL_DEBUG 00194 if (s < 0 || size() <= s){ 00195 throw std::out_of_range("xbitset::find_and_flip"); 00196 } 00197 #endif 00198 00199 const size_type p = find(v, s); 00200 if (p != npos) 00201 base_type::flip(p); 00202 return p; 00203 }
関数の呼び出しグラフ:
this_type& shttl::xbitset< N >::inc | ( | ) | [inline] |
参照先 shttl::shttl_bitset< N >::size()・shttl::shttl_bitset< N >::to_ulong().
00244 { 00245 u64 v = to_ulong(); 00246 if (v < umax(size())) 00247 *this = v + 1; 00248 else 00249 throw std::overflow_error("xbitset::inc"); 00250 return *this; 00251 }
関数の呼び出しグラフ:
bool shttl::xbitset< N >::none | ( | const bool | v | ) | const [inline] |
bool shttl::xbitset< N >::none | ( | ) | const [inline] |
shttl::shttl_bitset< N >を再定義しています。
参照先 shttl::shttl_bitset< N >::test().
参照元 shttl::xbitset< N >::all()・shttl::xbitset< N >::none().
00150 { 00151 for (int p = 0; p < N; ++p) 00152 if (base_type::test(p)) 00153 return false; 00154 return true; 00155 }
関数の呼び出しグラフ:
Here is the caller graph for this function:
u64 shttl::xbitset< N >::operator++ | ( | int | ) | [inline] |
参照先 shttl::shttl_bitset< N >::size()・shttl::shttl_bitset< N >::to_ulong().
00228 { 00229 u64 v = to_ulong(); 00230 if (v < umax(size())) 00231 *this = v + 1; 00232 return v; 00233 }
関数の呼び出しグラフ:
this_type& shttl::xbitset< N >::operator++ | ( | ) | [inline] |
参照先 shttl::shttl_bitset< N >::size()・shttl::shttl_bitset< N >::to_ulong().
00212 { 00213 u64 v = to_ulong(); 00214 if (v < umax(size())) 00215 *this = v + 1; 00216 return *this; 00217 }
関数の呼び出しグラフ:
u64 shttl::xbitset< N >::operator-- | ( | int | ) | [inline] |
参照先 shttl::shttl_bitset< N >::size()・shttl::shttl_bitset< N >::to_ulong().
00236 { 00237 u64 v = to_ulong(); 00238 if (v > umin(size())) 00239 *this = v - 1; 00240 return v; 00241 }
関数の呼び出しグラフ:
this_type& shttl::xbitset< N >::operator-- | ( | ) | [inline] |
参照先 shttl::shttl_bitset< N >::size()・shttl::shttl_bitset< N >::to_ulong().
00220 { 00221 u64 v = to_ulong(); 00222 if (v > umin(size())) 00223 *this = v - 1; 00224 return *this; 00225 }
関数の呼び出しグラフ:
xbitset& shttl::xbitset< N >::operator= | ( | const xbitset< N > & | rhs | ) | [inline] |
const const_reference shttl::xbitset< N >::operator[] | ( | const size_type | p | ) | const [inline] |
void shttl::xbitset< N >::reset | ( | void | ) | [inline] |
const signed char shttl::xbitset< N >::_find_0_map [static, protected] |
const size_type shttl::xbitset< N >::npos = -1 [static] |