You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xalan.apache.org by db...@apache.org on 2002/09/09 19:26:59 UTC
cvs commit: xml-xalan/c/src/XPath XPathFunctionTable.cpp
dbertoni 2002/09/09 10:26:59
Modified: c/src/XPath XPathFunctionTable.cpp
Log:
Reduce start-up dynamic memory utilization.
Revision Changes Path
1.20 +139 -54 xml-xalan/c/src/XPath/XPathFunctionTable.cpp
Index: XPathFunctionTable.cpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/XPath/XPathFunctionTable.cpp,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -r1.19 -r1.20
--- XPathFunctionTable.cpp 7 Sep 2002 00:43:48 -0000 1.19
+++ XPathFunctionTable.cpp 9 Sep 2002 17:26:58 -0000 1.20
@@ -273,86 +273,171 @@
{
m_FunctionCollection.reserve(eDefaultTableSize);
- InstallFunction(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("last")),
- FunctionLast());
+ // Start with the longest function name, so we only have
+ // one allocation for this string.
+ XalanDOMString theFunctionName;
- InstallFunction(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("position")),
- FunctionPosition());
+ theFunctionName = s_substringBefore;
- InstallFunction(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("count")),
- FunctionCount());
+ InstallFunction(
+ theFunctionName,
+ FunctionSubstringBefore());
- InstallFunction(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("id")),
- FunctionID());
+ theFunctionName = s_last;
- InstallFunction(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("local-name")),
- FunctionLocalName());
+ InstallFunction(
+ theFunctionName,
+ FunctionLast());
- InstallFunction(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("namespace-uri")),
- FunctionNamespaceURI());
+ theFunctionName = s_position;
- InstallFunction(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("name")),
- FunctionName());
+ InstallFunction(
+ theFunctionName,
+ FunctionPosition());
- InstallFunction(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("string")),
- FunctionString());
+ theFunctionName = s_count;
- InstallFunction(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("concat")),
- FunctionConcat());
+ InstallFunction(
+ theFunctionName,
+ FunctionCount());
- InstallFunction(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("starts-with")),
- FunctionStartsWith());
+ theFunctionName = s_id;
- InstallFunction(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("contains")),
- FunctionContains());
+ InstallFunction(
+ theFunctionName,
+ FunctionID());
- InstallFunction(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("substring-before")),
- FunctionSubstringBefore());
+ theFunctionName = s_localName;
- InstallFunction(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("substring-after")),
- FunctionSubstringAfter());
+ InstallFunction(
+ theFunctionName,
+ FunctionLocalName());
- InstallFunction(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("substring")),
- FunctionSubstring());
+ theFunctionName = s_namespaceUri;
- InstallFunction(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("string-length")),
- FunctionStringLength());
+ InstallFunction(
+ theFunctionName,
+ FunctionNamespaceURI());
- InstallFunction(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("normalize-space")),
- FunctionNormalizeSpace());
+ theFunctionName = s_name;
- InstallFunction(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("translate")),
- FunctionTranslate());
+ InstallFunction(
+ theFunctionName,
+ FunctionName());
- InstallFunction(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("boolean")),
- FunctionBoolean());
+ theFunctionName = s_string;
- InstallFunction(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("not")),
- FunctionNot());
+ InstallFunction(
+ theFunctionName,
+ FunctionString());
- InstallFunction(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("true")),
- FunctionTrue());
+ theFunctionName = s_concat;
- InstallFunction(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("false")),
- FunctionFalse());
+ InstallFunction(
+ theFunctionName,
+ FunctionConcat());
- InstallFunction(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("lang")),
- FunctionLang());
+ theFunctionName = s_startsWith;
- InstallFunction(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("number")),
- FunctionNumber());
+ InstallFunction(
+ theFunctionName,
+ FunctionStartsWith());
- InstallFunction(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("sum")),
- FunctionSum());
+ theFunctionName = s_contains;
- InstallFunction(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("floor")),
- FunctionFloor());
+ InstallFunction(
+ theFunctionName,
+ FunctionContains());
- InstallFunction(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("ceiling")),
- FunctionCeiling());
+ theFunctionName = s_substringAfter;
- InstallFunction(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("round")),
- FunctionRound());
+ InstallFunction(
+ theFunctionName,
+ FunctionSubstringAfter());
+
+ theFunctionName = s_substring;
+
+ InstallFunction(
+ theFunctionName,
+ FunctionSubstring());
+
+ theFunctionName = s_stringLength;
+
+ InstallFunction(
+ theFunctionName,
+ FunctionStringLength());
+
+ theFunctionName = s_normalizeSpace;
+
+ InstallFunction(
+ theFunctionName,
+ FunctionNormalizeSpace());
+
+ theFunctionName = s_translate;
+
+ InstallFunction(
+ theFunctionName,
+ FunctionTranslate());
+
+ theFunctionName = s_boolean;
+
+ InstallFunction(
+ theFunctionName,
+ FunctionBoolean());
+
+ theFunctionName = s_not;
+
+ InstallFunction(
+ theFunctionName,
+ FunctionNot());
+
+ theFunctionName = s_true;
+
+ InstallFunction(
+ theFunctionName,
+ FunctionTrue());
+
+ theFunctionName = s_false;
+
+ InstallFunction(
+ theFunctionName,
+ FunctionFalse());
+
+ theFunctionName = s_lang;
+
+ InstallFunction(
+ theFunctionName,
+ FunctionLang());
+
+ theFunctionName = s_number;
+
+ InstallFunction(
+ theFunctionName,
+ FunctionNumber());
+
+ theFunctionName = s_sum;
+
+ InstallFunction(
+ theFunctionName,
+ FunctionSum());
+
+ theFunctionName = s_floor;
+
+ InstallFunction(
+ theFunctionName,
+ FunctionFloor());
+
+ theFunctionName = s_ceiling;
+
+ InstallFunction(
+ theFunctionName,
+ FunctionCeiling());
+
+ theFunctionName = s_round;
+
+ InstallFunction(
+ theFunctionName,
+ FunctionRound());
#if 0
std::ofstream theSourceStream("\\foo.cpp");
std::ofstream theHeaderStream("\\foo.hpp");
---------------------------------------------------------------------
To unsubscribe, e-mail: xalan-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xalan-cvs-help@xml.apache.org