+ // NOTE Do NOT try to make this a container of Layout pointers, e.g.,
+ // std::vector<Layout *>. This will lead to problems. The reason is
+ // that DocumentClass objects are generally created by copying a
+ // LayoutFile, which serves as a base for the DocumentClass. If the
+ // LayoutList is a container of pointers, then every DocumentClass
+ // that derives from a given LayoutFile (e.g., article) will SHARE
+ // a basic set of layouts. So if one Buffer were to modify a layout
+ // (say, Standard), that would modify that layout for EVERY Buffer
+ // that was based upon the same DocumentClass. (Of course, if you
+ // really, REALLY want to make LayoutList a vector<Layout *>, then
+ // you can implement custom assignment and copy constructors.)
+ typedef std::vector<Layout> LayoutList;