## Class template processor

hamigaki::coroutines::processor —

## Synopsis

    template<typename T>
    class processor {
    public:
      // types
      typedef shared_coroutine0<T>      coroutine_type;
      typedef selfN<R, T1, T2, ..., TN> self;
      typedef std::output_iterator_tag  iterator_category;

      // construct/copy/destruct
      template<typename Functor> explicit processor(Functor);

      // operators
      processor& operator=(const T&);
      processor& operator*();
      processor& operator++();

      private: coroutine_type coro;
      private: T value;
    };

## Description

### `processor` construct/copy/destruct

1.     template<typename Functor> explicit processor(Functor f);

   Effects: | `coro = coroutine_type(f);`

### `processor` operators

1.     processor& operator=(const T& x);

   Effects: | `coro(x);`
   Returns: | `*this`

2.     processor& operator*();

   Returns: | `*this`

3.     processor& operator++();

   Returns: | `*this`

| 製作著作 © 2006, 2007 Takeshi Mouri