A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from http://www.ncbi.nlm.nih.gov/IEB/ToolBox/CPP_DOC/doxyhtml/__hashtable_8c_source.html below:

NCBI C++ ToolKit: include/corelib/hash_impl/_hashtable.c Source File

26 #ifndef _STLP_HASHTABLE_C 27 #define _STLP_HASHTABLE_C 29 #ifndef _STLP_INTERNAL_HASHTABLE_H 30 # include <stl/_hashtable.h> 34 # define hashtable __WORKAROUND_DBG_RENAME(hashtable) 39 # define __PRIME_LIST_BODY { \ 40  53ul, 97ul, 193ul, 389ul, 769ul, \ 41  1543ul, 3079ul, 6151ul, 12289ul, 24593ul, \ 42  49157ul, 98317ul, 196613ul, 393241ul, 786433ul, \ 43  1572869ul, 3145739ul, 6291469ul, 12582917ul, 25165843ul, \ 44  50331653ul, 100663319ul, 201326611ul, 402653189ul, 805306457ul,\ 45  1610612741ul, 3221225473ul, 4294967291ul \ 48 #if ( _STLP_STATIC_TEMPLATE_DATA > 0 ) 56 # undef __PRIME_LIST_BODY 61 # if defined ( _STLP_NESTED_TYPE_PARAM_BUG ) 62 # define __size_type__ size_t 63 # define size_type size_t 64 # define value_type _Val 65 # define key_type _Key 66 # define _Node _Hashtable_node<_Val> 67 # define __reference__ _Val& 69 # define __iterator__ _Ht_iterator<_Val, _Nonconst_traits<_Val>, _Key, _HF, _ExK, _EqK, _All> 70 # define __const_iterator__ _Ht_iterator<_Val, _Const_traits<_Val>, _Key, _HF, _ExK, _EqK, _All> 72 # define __size_type__ _STLP_TYPENAME_ON_RETURN_TYPE hashtable<_Val, _Key, _HF, _ExK, _EqK, _All>::size_type 73 # define __reference__ _STLP_TYPENAME_ON_RETURN_TYPE hashtable<_Val, _Key, _HF, _ExK, _EqK, _All>::reference 74 # define __iterator__ _STLP_TYPENAME_ON_RETURN_TYPE hashtable<_Val, _Key, _HF, _ExK, _EqK, _All>::iterator 77 template

<

class

_Val,

class

_Key,

class

_HF,

class

_ExK,

class

_EqK,

81  size_t

__bucket = _M_ht->_M_bkt_num(_M_cur->_M_val);

83

__h_sz = this->_M_ht->bucket_count();

86  while

(__i==0 && ++__bucket < __h_sz)

87

__i = (

_Node

*)_M_ht->_M_buckets[__bucket];

91 template

<

class

_Val,

class

_Key,

class

_HF,

class

_ExK,

class

_EqK,

98  return

(pos == __last ? *(__last - 1) : *pos);

101 template

<

class

_Val,

class

_Key,

class

_HF,

class

_ExK,

class

_EqK,

class

_All>

110  for

(

size_t

__n = 0; __n < __ht1.

bucket_count

(); ++__n) {

113  for

( ; __cur1 && __cur2 && __cur1->

_M_val

== __cur2->

_M_val

;

116  if

(__cur1 || __cur2)

122 template

<

class

_Val,

class

_Key,

class

_HF,

class

_ExK,

class

_EqK,

class

_All>

123

pair< _Ht_iterator<_Val, _Nonconst_traits<_Val>, _Key, _HF, _ExK, _EqK, _All> ,

bool

>

130  for

(

_Node

* __cur = __first; __cur; __cur = __cur->

_M_next

)

131  if

(_M_equals(_M_get_key(__cur->_M_val), _M_get_key(__obj)))

132  return

pair<iterator, bool>(

iterator

(__cur,

this

),

false

);

134  _Node

* __tmp = _M_new_node(__obj);

136

_M_buckets[__n] = __tmp;

137

++_M_num_elements._M_data;

138  return

pair<iterator, bool>(

iterator

(__tmp,

this

),

true

);

141 template

<

class

_Val,

class

_Key,

class

_HF,

class

_ExK,

class

_EqK,

class

_All>

149  for

(

_Node

* __cur = __first; __cur; __cur = __cur->

_M_next

)

150  if

(_M_equals(_M_get_key(__cur->_M_val), _M_get_key(__obj))) {

151  _Node

* __tmp = _M_new_node(__obj);

154

++_M_num_elements._M_data;

158  _Node

* __tmp = _M_new_node(__obj);

160

_M_buckets[__n] = __tmp;

161

++_M_num_elements._M_data;

165 template

<

class

_Val,

class

_Key,

class

_HF,

class

_ExK,

class

_EqK,

class

_All>

169  resize

(_M_num_elements._M_data + 1);

174  _Node

* __tmp = _M_new_node(__obj);

176

_M_buckets[__n] = __tmp;

177

++_M_num_elements._M_data;

181 template

<

class

_Val,

class

_Key,

class

_HF,

class

_ExK,

class

_EqK,

class

_All>

186  _Node

* __first = _M_find(_M_get_key(__obj));

190  return

_M_insert(__obj);

193 template

<

class

_Val,

class

_Key,

class

_HF,

class

_ExK,

class

_EqK,

class

_All>

194

pair< _Ht_iterator<_Val, _Nonconst_traits<_Val>, _Key, _HF, _ExK, _EqK, _All>,

198  typedef

pair<iterator, iterator> _Pii;

199  const size_type

__n = _M_bkt_num_key(__key);

201  for

(

_Node

* __first = (

_Node

*)_M_buckets[__n]; __first; __first = __first->

_M_next

)

202  if

(_M_equals(_M_get_key(__first->_M_val), __key)) {

204  if

(!_M_equals(_M_get_key(__cur->_M_val), __key))

206  for

(

size_type

__m = __n + 1; __m < _M_buckets.size(); ++__m)

208  return

_Pii(

iterator

(__first,

this

),

210  return

_Pii(

iterator

(__first,

this

), end());

212  return

_Pii(end(), end());

215 template

<

class

_Val,

class

_Key,

class

_HF,

class

_ExK,

class

_EqK,

class

_All>

216

pair< _Ht_iterator<_Val, _Const_traits<_Val>, _Key, _HF, _ExK, _EqK, _All>,

221  typedef

pair<const_iterator, const_iterator> _Pii;

222  const size_type

__n = _M_bkt_num_key(__key);

224  for

(

const _Node

* __first = (

_Node

*)_M_buckets[__n] ;

226

__first = __first->

_M_next

) {

227  if

(_M_equals(_M_get_key(__first->_M_val), __key)) {

231  if

(!_M_equals(_M_get_key(__cur->_M_val), __key))

234  for

(

size_type

__m = __n + 1; __m < _M_buckets.size(); ++__m)

241  return

_Pii(end(), end());

244 template

<

class

_Val,

class

_Key,

class

_HF,

class

_ExK,

class

_EqK,

class

_All>

248  const size_type

__n = _M_bkt_num_key(__key);

253  _Node

* __cur = __first;

256  if

(_M_equals(_M_get_key(__next->

_M_val

), __key)) {

258

_M_delete_node(__next);

261

--_M_num_elements._M_data;

268  if

(_M_equals(_M_get_key(__first->

_M_val

), __key)) {

269

_M_buckets[__n] = __first->

_M_next

;

270

_M_delete_node(__first);

272

--_M_num_elements._M_data;

278 template

<

class

_Val,

class

_Key,

class

_HF,

class

_ExK,

class

_EqK,

class

_All>

288

_M_buckets[__n] = __cur->

_M_next

;

289

_M_delete_node(__cur);

290

--_M_num_elements._M_data;

297

_M_delete_node(__next);

298

--_M_num_elements._M_data;

310 template

<

class

_Val,

class

_Key,

class

_HF,

class

_ExK,

class

_EqK,

class

_All>

317

_M_bkt_num(__first.

_M_cur

->

_M_val

) : _M_buckets.size();

319

_M_bkt_num(__last.

_M_cur

->

_M_val

) : _M_buckets.size();

322  else if

(__f_bucket == __l_bucket)

323

_M_erase_bucket(__f_bucket, __first.

_M_cur

, __last.

_M_cur

);

325

_M_erase_bucket(__f_bucket, __first.

_M_cur

, 0);

326  for

(

size_type

__n = __f_bucket + 1; __n < __l_bucket; ++__n)

327

_M_erase_bucket(__n, 0);

328  if

(__l_bucket != _M_buckets.size())

329

_M_erase_bucket(__l_bucket, __last.

_M_cur

);

333 template

<

class

_Val,

class

_Key,

class

_HF,

class

_ExK,

class

_EqK,

class

_All>

337  const size_type

__old_n = _M_buckets.size();

338  if

(__num_elements_hint > __old_n) {

339  const size_type

__n = _M_next_size(__num_elements_hint);

342

_M_buckets.get_allocator());

344  for

(

size_type

__bucket = 0; __bucket < __old_n; ++__bucket) {

345  _Node

* __first = (

_Node

*)_M_buckets[__bucket];

348

_M_buckets[__bucket] = __first->

_M_next

;

350

__tmp[__new_bucket] = __first;

351

__first = (

_Node

*)_M_buckets[__bucket];

354

_M_buckets.swap(__tmp);

356 # ifdef _STLP_USE_EXCEPTIONS 358  for

(

size_type

__bucket = 0; __bucket < __tmp.size(); ++__bucket) {

359  while

(__tmp[__bucket]) {

361

_M_delete_node((

_Node

*)__tmp[__bucket]);

362

__tmp[__bucket] = __next;

372 template

<

class

_Val,

class

_Key,

class

_HF,

class

_ExK,

class

_EqK,

class

_All>

377  if

(__cur == __first)

378

_M_erase_bucket(__n, __last);

381  for

(__next = __cur->

_M_next

;

383

__cur = __next, __next = __cur->

_M_next

)

385  while

(__next != __last) {

387

_M_delete_node(__next);

389

--_M_num_elements._M_data;

394 template

<

class

_Val,

class

_Key,

class

_HF,

class

_ExK,

class

_EqK,

class

_All>

399  while

(__cur && __cur != __last) {

401

_M_delete_node(__cur);

403

_M_buckets[__n] = __cur;

404

--_M_num_elements._M_data;

408 template

<

class

_Val,

class

_Key,

class

_HF,

class

_ExK,

class

_EqK,

class

_All>

411  for

(

size_type

__i = 0; __i < _M_buckets.size(); ++__i) {

415

_M_delete_node(__cur);

420

_M_num_elements._M_data = 0;

424 template

<

class

_Val,

class

_Key,

class

_HF,

class

_ExK,

class

_EqK,

class

_All>

430

_M_buckets.insert(_M_buckets.end(), __ht.

_M_buckets

.size(), (

void

*) 0);

436

_M_buckets[__i] = __xcopy;

440

__cur = __next, __next = __cur->

_M_next

) {

441

__xcopy->

_M_next

= _M_new_node(__next->_M_val);

452 # undef const_iterator 453 # undef __size_type__ 454 # undef __reference__ 459 # undef __stl_num_primes

__DECLARE_INSTANCE(const size_t, _Stl_prime_type::_M_list[],={ 53ul, 97ul, 193ul, 389ul, 769ul, 1543ul, 3079ul, 6151ul, 12289ul, 24593ul, 49157ul, 98317ul, 196613ul, 393241ul, 786433ul, 1572869ul, 3145739ul, 6291469ul, 12582917ul, 25165843ul, 50331653ul, 100663319ul, 201326611ul, 402653189ul, 805306457ul, 1610612741ul, 3221225473ul, 4294967291ul })

#define __PRIME_LIST_BODY

static const size_t _M_list[28]

__vector__< void *, _M_node_ptr_allocator_type > _BucketVector

void resize(size_type __num_elements_hint)

iterator insert_equal_noresize(const value_type &__obj)

size_type _M_next_size(size_type __n) const

_STLP_alloc_proxy< size_type, _Node, _M_node_allocator_type > _M_num_elements

pair< iterator, bool > insert_unique_noresize(const value_type &__obj)

void _M_erase_bucket(const size_type __n, _Node *__first, _Node *__last)

void _M_copy_from(const _Self &__ht)

const _Node * _M_get_bucket(size_t __n) const

reference _M_insert(const value_type &__obj)

size_type bucket_count() const

pair< iterator, iterator > equal_range(const key_type &__key)

reference find_or_insert(const value_type &__obj)

static bool _STLP_CALL _M_equal(const hashtable< _Val, _Key, _HF, _ExK, _EqK, _All > &, const hashtable< _Val, _Key, _HF, _ExK, _EqK, _All > &)

size_type erase(const key_type &__key)

if(yy_accept[yy_current_state])

void resize(vector< SMethodDef > &container)

#define _STLP_UNWIND(action)

less< _Tp > _stlp_less(_Tp *)

#define __lower_bound(b, e, v, c, d)

#define _STLP_BEGIN_NAMESPACE

#define _STLP_END_NAMESPACE

_Node * _M_skip_to_next()


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4