up up previous
Up: Physical Design Rules Previous: Rules

Definitions

  1. File scope: The scope outside of all blocks and classes in a file.

  2. Translation unit: A .cc file after all .hh files have been included by the preprocessor.

  3. Internal linkage: A name local to its translation unit has ``internal linkage,'' and cannot collide with names in other translation units.

  4. External linkage: A name with ``external linkage'' can interact with other translation units at link time.

  5. Global identifier: A name with external linkage or a name at file scope in a .hh file. (Potentially useable anywhere in the program).

  6. Declaration: Introduces a name into a program. Provides a description of the named entity, but does not create it. Does not result in any memory allocation. A declaration may be repeated many times. For example, the following are declarations:
     
                        class Point;
                        double f(int i, int j);
  7. Definition: Provides a unique description of an entity. May result in memory allocation. There must be exactly one definition of an entity. For example:
  8. A definition is also a declaration unless:
    It defines a static class data member or
    It defines a member function of a class, and is not inside the body of code that defines that class.

  9. A declaration is also a definition unless:
    It declares a function without specifying its body or
    It specifies ``extern'' and has no initializer or function body or
    It declares a static class data member within a class definition or
    It is a class name declaration or
    It is a typedef declaration.

  10. Component: A .hh file together with the corresponding .cc files.

  11. Package: A collection of components organized as a physically cohesive unit. (eg: the ``muon'' package would have all the code for muon reconstruction.)



Fritz DeJongh
Wed Nov 6 11:11:14 CST 1996