module ClassTraversal: sig
.. end
Class types and default implementations for "mapper", "iterator", and
"folder" over class definitions.
Functions from ClassDefinition
should be used for applications
of "mapppers","iterators", and "folders".
class type class_definition_mapper = object
.. end
This class type defines a "mapper", instances being used as
"functions" to transform class definitions.
class default_class_definition_mapper :
class_definition_mapper
The default "mapper", that encodes the identity over class
definitions.
class type class_definition_iterator = object
.. end
This class type defines an "iterator", instances being used as
"functions" to iterate over the different components of a class
definitions.
class default_class_definition_iterator :
class_definition_iterator
The default "iterator", that iterates over the whole structure by
doing nothing.
class type class_definition_folder = object
.. end
This class type defines a "folder", instances being used as
"functions" to fold over the different components of a class
definitions. The "function" is defined by parts through the various
methods of the object. Any method is responsible for the calling of
its embedded elements; this means that the method class_definition
should call methods to fold fields, attributes, etc.
class default_class_definition_folder :
class_definition_folder
The default "folder", that folds over the whole structure by
doing nothing.