In this report, a set of C++ classes is presented for representing unstructure- d triangular meshes of intrinsic dimension two; i.e. oriented 2-manifolds. For simple mesh objects, i.e. vertices, triangles, and line segments, a small set of class members that are sufficient for the mesh class are described. They define abstractions based on their incidence relations and a few geometric primitives for a mesh class, which is an intelligent container class of three lists of these simple mesh objects. The classes are intended to be components in an object oriented approach to software for meshing applications described in the report. This context differentiates the roles of the mesh class and the simple mesh object classes; these latter can be extended as the carriers of the applications data. The capabilit- y of the classes of this report to simultaneously simplify the coding of mesh methods and facilitate generalization of the code is discussed with examples. The report provides an overview of the class design and use, tutorial examples, and, in a large appendix, class documentation details