Listing 3: A simple device.

namespace sample {
  struct placeholder_1 {};
  placeholder_1 _1;
  template <typename T> struct simple_binder_lshift {
    T& t_;
  public:
    simple_binder_lshift(T& t):t_(t) {}
    template <typename U> T& operator()(U u) {
      t_ << u;
      return t_;
    }
  };
}
template <typename T> sample::simple_binder_lshift<T> 
  operator<<(T& t,sample::placeholder_1 ignore) {
    return sample::simple_binder_lshift<T>(t);
}
int main() {
  using sample::_1;
  std::vector<std::string> vec;
  vec.push_back("Simple");
  vec.push_back(" example");
  std::for_each(vec.begin(),vec.end(),std::cout << _1);
}