diff --git a/README.cxxTemplates b/README.cxxTemplates index ca8871eec..b2aebab1e 100644 --- a/README.cxxTemplates +++ b/README.cxxTemplates @@ -1,22 +1,19 @@ -The C++ templates supplied with EPICS base are in -"$(EPICS)/base/src/cxxTemplates". - In Stroustrups's "The C++ Programming Language" Appendix A: r.14.9 (ANSI/ISO resolutions) a mechanism is described for the explicit instantiation of template member functions (that are not inline). At this time some compilers do not support this mechanism (and use a template database snd/or smart linker instead). Other compilers (such as g++) provide only limited support for other forms of -instantiation (g++ does not yet provide a template database or -a smart linker for templates). +instantiation (g++ currently supplies a smart linker for templates +only on a limited set of OS). -Since there is no defacto standard mechanism for instatiating +Since there is no standard mechanism for instatiating templates at this time we are defining the preprocessor flag EXPL_TEMPL in the build system when the compiler supports explicit instantiation and the compiler does not support automatic instantiation via a smart linker and/or template -database (currently this is only g++). +database. EPICS codes that use templates may need to include a code block as follow that instantiates the template only once into each