pointer operator->()
 {
     return boost::addressof(data_.first());
 }
 const_reference operator*() const
 {
     return data_.first();
 }
 const_reference get() const
 {
     return data_.first();
 }
 reference operator*()
 {
     return data_.first();
 }
 reference get()
 {
     return data_.first();
 }