~ubuntu-branches/ubuntu/saucy/deal.ii/saucy

« back to all changes in this revision

Viewing changes to contrib/boost/include/boost/intrusive/detail/hashtable_node.hpp

  • Committer: Bazaar Package Importer
  • Author(s): Adam C. Powell, IV, Adam C. Powell, IV, Denis Barbier
  • Date: 2010-07-29 13:47:01 UTC
  • mfrom: (3.1.3 sid)
  • Revision ID: james.westby@ubuntu.com-20100729134701-akb8jb3stwge8tcm
Tags: 6.3.1-1
[ Adam C. Powell, IV ]
* Changed to source format 3.0 (quilt).
* Changed maintainer to debian-science with Adam Powell as uploader.
* Added source lintian overrides about Adam Powell's name.
* Added Vcs info on git repository.
* Bumped Standards-Version.
* Changed stamp-patch to patch target and fixed its application criterion.
* Moved make_dependencies and expand_instantiations to a versioned directory
  to avoid shlib package conflicts.

[ Denis Barbier ]
* New upstream release (closes: #562332).
  + Added libtbb support.
  + Forward-ported all patches.
* Updates for new PETSc version, including workaround for different versions
  of petsc and slepc.
* Add debian/watch.
* Update to debhelper 7.
* Added pdebuild patch.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/////////////////////////////////////////////////////////////////////////////
2
2
//
3
 
// (C) Copyright Ion Gaztanaga  2007
 
3
// (C) Copyright Ion Gaztanaga  2007-2009
4
4
//
5
5
// Distributed under the Boost Software License, Version 1.0.
6
6
//    (See accompanying file LICENSE_1_0.txt or copy at
100
100
class hashtable_iterator
101
101
   :  public std::iterator
102
102
         < std::forward_iterator_tag
103
 
         , typename detail::add_const_if_c
104
 
            <typename Container::value_type, IsConst>::type
 
103
         , typename Container::value_type
 
104
         , typename std::iterator_traits<typename Container::value_type*>::difference_type
 
105
         , typename detail::add_const_if_c
 
106
                     <typename Container::value_type, IsConst>::type *
 
107
         , typename detail::add_const_if_c
 
108
                     <typename Container::value_type, IsConst>::type &
105
109
         >
106
110
{
107
111
   typedef typename Container::real_value_traits                  real_value_traits;
116
120
   {  return typename Container::node_ptr(&static_cast<typename Container::node&>(*p));   }
117
121
 
118
122
   public:
 
123
   typedef typename Container::value_type    value_type;
 
124
   typedef  typename detail::add_const_if_c
 
125
                     <typename Container::value_type, IsConst>::type *pointer;
119
126
   typedef typename detail::add_const_if_c
120
 
      <typename Container::value_type, IsConst>::type          value_type;
 
127
                     <typename Container::value_type, IsConst>::type &reference;
121
128
 
122
129
   hashtable_iterator ()
123
130
   {}
133
140
   const siterator &slist_it() const
134
141
   { return slist_it_; }
135
142
 
 
143
   hashtable_iterator<Container, false> unconst() const
 
144
   {  return hashtable_iterator<Container, false>(this->slist_it(), this->get_container());   }
 
145
 
136
146
   public:
137
147
   hashtable_iterator& operator++() 
138
148
   {  this->increment();   return *this;   }
150
160
   friend bool operator!= (const hashtable_iterator& i, const hashtable_iterator& i2)
151
161
   { return !(i == i2); }
152
162
 
153
 
   value_type& operator*() const
 
163
   reference operator*() const
154
164
   { return *this->operator ->(); }
155
165
 
156
 
   value_type* operator->() const
 
166
   pointer operator->() const
157
167
   { return detail::get_pointer(this->get_real_value_traits()->to_value_ptr(downcast_bucket(slist_it_.pointed_node()))); }
158
168
 
159
169
   const Container *get_container() const