Tuesday, January 15, 2013

C++11 Wrapper Pattern - via Herb Sutters talk


template class wrap {
private:
   T t; // wrapped object
   ::: // wrapper-specific state
public:
   wrap( T t_ = T{} ) : t{t_} { }
   template
   auto operator()( F f ) -> decltype(f(t)) { // strategy: take any code (!)
   // wrapper work
   auto ret = f(t); // pass the wrapped object to it
   // more wrapper work
   return ret; // and return the result
}

From Herbs talk : video link
                            Slides (Example above from page 9)

Mozilla and hypocrisy

Right, but what about the experiences that Mozilla chooses to default for users like switching to  Yahoo and making that the default upon ...