Silicon Graphics, Inc.

Adaptable Generator

Category: functors Component type: concept


An Adaptable Generator is a Generator with a nested typedef that defines its result type. [1] This nested typedef makes it possible to use function object adaptors.

Refinement of


Associated types

Result type F::result_type The type returned when the Generator is called


F A type that is a model of Adaptable Generator


Valid expressions

None, except for those defined by Generator

Expression semantics

Complexity guarantees



The STL does not include any types that are models of Adaptable Generator. An example of a user-defined Adaptable Generator is as follows.
struct counter
  typedef int result_type;

  counter() : n(0) {}
  result_type operator()() { return n++; }

  result_type n;


[1] Note the implication of this: a function pointer T (*f)() is a Generator, but not an Adaptable Generator: the expression f::result_type is nonsensical.

See also

Generator, Adaptable Unary Function, Adaptable Binary Function
[Silicon Surf] [STL Home]
Copyright © 1996 Silicon Graphics, Inc. All Rights Reserved. TrademarkInformation