From c8ec70de08aff09d6efddd71c1a011415b7af3bf Mon Sep 17 00:00:00 2001 From: Jeff Hill Date: Wed, 25 Jun 1997 06:47:15 +0000 Subject: [PATCH] fixed comment --- README.cxxTemplates | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/README.cxxTemplates b/README.cxxTemplates index 6437a3305..ca8871eec 100644 --- a/README.cxxTemplates +++ b/README.cxxTemplates @@ -1,18 +1,22 @@ -The templates supplied with EPICS base are in $(EPICS)/base/src/cxxTemplates +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 or smart linker instead). Other compilers +a template database snd/or smart linker instead). Other compilers (such as g++) provide only limited support for other forms of -instantiation. +instantiation (g++ does not yet provide a template database or +a smart linker for templates). Since there is no defacto 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. +explicit instantiation and the compiler does not support +automatic instantiation via a smart linker and/or template +database (currently this is only g++). EPICS codes that use templates may need to include a code block as follow that instantiates the template only once into each @@ -20,7 +24,6 @@ program. #include #include -#include // // if the compiler supports explicit instantiation of