| Home | Libraries | People | FAQ | More

## Struct default_generator

boost::proto::default_generator — A simple generator that passes an expression through unchanged.

## Synopsis

    struct default_generator :  proto::callable {
      template<typename This, typename Expr>
      struct result<This(Expr)> {
        // types
        typedef Expr type;
      };

      // public member functions
      template<typename Expr> Expr const & operator()(Expr const &) const;
    };

## Description

Generators are intended for use as the first template parameter to the `proto::domain<>` class template and control if and how expressions within that domain are to be customized. The `proto::default_generator` makes no modifications to the expressions passed to it.

### `default_generator` public member functions

1.     template<typename Expr> Expr const & operator()(Expr const & expr) const;

   Parameters: |
   `expr` | A Proto expression
   Returns: | `expr`