2020-02-17 22:19:57 +01:00
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
< html > < head > < meta http-equiv = "Content-Type" content = "text/html;charset=iso-8859-1" >
< title > XQilla Simple API Documentation< / title >
< link href = "doxygen.css" rel = "stylesheet" type = "text/css" >
< link href = "tabs.css" rel = "stylesheet" type = "text/css" >
< / head > < body >
< a style = "float:right;" href = "http://sourceforge.net/projects/xqilla" > < img src = "http://sflogo.sourceforge.net/sflogo.php?group_id=152021&type=2" border = "0" alt = "SourceForge.net Logo" / > < / a >
<!-- Generated by Doxygen 1.6.1 -->
< div class = "navigation" id = "top" >
< div class = "tabs" >
< ul >
< li > < a href = "index.html" > < span > Main Page< / span > < / a > < / li >
< li > < a href = "namespaces.html" > < span > Namespaces< / span > < / a > < / li >
< li > < a href = "annotated.html" > < span > Classes< / span > < / a > < / li >
< li class = "current" > < a href = "files.html" > < span > Files< / span > < / a > < / li >
< li > < a href = "examples.html" > < span > Examples< / span > < / a > < / li >
< / ul >
< / div >
< div class = "tabs" >
< ul >
< li > < a href = "files.html" > < span > File List< / span > < / a > < / li >
< li > < a href = "globals.html" > < span > File Members< / span > < / a > < / li >
< / ul >
< / div >
< h1 > Scope.hpp< / h1 > < a href = "Scope_8hpp.html" > Go to the documentation of this file.< / a > < div class = "fragment" > < pre class = "fragment" > < a name = "l00001" > < / a > 00001 < span class = "comment" > /*< / span >
< a name = "l00002" > < / a > 00002 < span class = "comment" > * Copyright (c) 2001-2008< / span >
< a name = "l00003" > < / a > 00003 < span class = "comment" > * DecisionSoft Limited. All rights reserved.< / span >
< a name = "l00004" > < / a > 00004 < span class = "comment" > * Copyright (c) 2004-2008< / span >
< a name = "l00005" > < / a > 00005 < span class = "comment" > * Oracle. All rights reserved.< / span >
< a name = "l00006" > < / a > 00006 < span class = "comment" > *< / span >
< a name = "l00007" > < / a > 00007 < span class = "comment" > * Licensed under the Apache License, Version 2.0 (the " License" );< / span >
< a name = "l00008" > < / a > 00008 < span class = "comment" > * you may not use this file except in compliance with the License.< / span >
< a name = "l00009" > < / a > 00009 < span class = "comment" > * You may obtain a copy of the License at< / span >
< a name = "l00010" > < / a > 00010 < span class = "comment" > *< / span >
< a name = "l00011" > < / a > 00011 < span class = "comment" > * http://www.apache.org/licenses/LICENSE-2.0< / span >
< a name = "l00012" > < / a > 00012 < span class = "comment" > *< / span >
< a name = "l00013" > < / a > 00013 < span class = "comment" > * Unless required by applicable law or agreed to in writing, software< / span >
< a name = "l00014" > < / a > 00014 < span class = "comment" > * distributed under the License is distributed on an " AS IS" BASIS,< / span >
< a name = "l00015" > < / a > 00015 < span class = "comment" > * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.< / span >
< a name = "l00016" > < / a > 00016 < span class = "comment" > * See the License for the specific language governing permissions and< / span >
< a name = "l00017" > < / a > 00017 < span class = "comment" > * limitations under the License.< / span >
< a name = "l00018" > < / a > 00018 < span class = "comment" > *< / span >
2020-02-17 22:21:23 +01:00
< a name = "l00019" > < / a > 00019 < span class = "comment" > * $Id$< / span >
2020-02-17 22:19:57 +01:00
< a name = "l00020" > < / a > 00020 < span class = "comment" > */< / span >
< a name = "l00021" > < / a > 00021
< a name = "l00022" > < / a > 00022 < span class = "comment" > /*< / span >
< a name = "l00023" > < / a > 00023 < span class = "comment" > Scope< / span >
< a name = "l00024" > < / a > 00024 < span class = "comment" > */< / span >
< a name = "l00025" > < / a > 00025
< a name = "l00026" > < / a > 00026 < span class = "preprocessor" > #ifndef _SCOPE_HPP< / span >
< a name = "l00027" > < / a > 00027 < span class = "preprocessor" > < / span > < span class = "preprocessor" > #define _SCOPE_HPP< / span >
< a name = "l00028" > < / a > 00028 < span class = "preprocessor" > < / span >
< a name = "l00029" > < / a > 00029 < span class = "preprocessor" > #include < xqilla/framework/XQillaExport.hpp> < / span >
< a name = "l00030" > < / a > 00030 < span class = "preprocessor" > #include < < a class = "code" href = "VarHashEntry_8hpp.html" > xqilla/context/VarHashEntry.hpp< / a > > < / span >
< a name = "l00031" > < / a > 00031 < span class = "preprocessor" > #include < vector> < / span >
< a name = "l00032" > < / a > 00032 < span class = "preprocessor" > #include < xercesc/util/RefHash2KeysTableOf.hpp> < / span >
< a name = "l00033" > < / a > 00033 < span class = "preprocessor" > #include < < a class = "code" href = "XMemory_8hpp.html" > xercesc/util/XMemory.hpp< / a > > < / span >
< a name = "l00034" > < / a > 00034
< a name = "l00035" > < / a > 00035 < span class = "keyword" > template< / span > < < span class = "keyword" > class< / span > TYPE> < span class = "keyword" > class < / span > < a class = "code" href = "classVarHashEntry.html" title = "The class that stores the values of the variables." > VarHashEntry< / a > ;
< a name = "l00036" > < / a > 00036
< a name = "l00038" > < / a > 00038 < span class = "keyword" > template< / span > < < span class = "keyword" > class< / span > TYPE>
< a name = "l00039" > < / a > < a class = "code" href = "classScope.html" > 00039< / a > < span class = "keyword" > class < / span > < a class = "code" href = "classScope.html" title = "used inside VariableStore to implement variable scoping" > Scope< / a > : < span class = "keyword" > public< / span > XERCES_CPP_NAMESPACE_QUALIFIER < a class = "code" href = "classxercesc_1_1XMemory.html#ac0d26f65a82ff229bc1e4dbaaac79e84" title = "Protected default constructor." > XMemory< / a >
< a name = "l00040" > < / a > 00040 {
< a name = "l00041" > < / a > 00041 < span class = "keyword" > public< / span > :
< a name = "l00043" > < / a > < a class = "code" href = "classScope.html#a357719c423175c6c49b1cf3144cca7a5" > 00043< / a > < span class = "keyword" > typedef< / span > < span class = "keyword" > enum< / span > {
< a name = "l00044" > < / a > < a class = "code" href = "classScope.html#a357719c423175c6c49b1cf3144cca7a5acceac28db5b3a31f4c1bb1a095faffea" > 00044< / a > < a class = "code" href = "classScope.html#a357719c423175c6c49b1cf3144cca7a5acceac28db5b3a31f4c1bb1a095faffea" > GLOBAL_SCOPE< / a > ,
< a name = "l00045" > < / a > < a class = "code" href = "classScope.html#a357719c423175c6c49b1cf3144cca7a5a712c77d1f90b905b1a998cd7891ec16b" > 00045< / a > < a class = "code" href = "classScope.html#a357719c423175c6c49b1cf3144cca7a5a712c77d1f90b905b1a998cd7891ec16b" > LOCAL_SCOPE< / a > ,
< a name = "l00046" > < / a > < a class = "code" href = "classScope.html#a357719c423175c6c49b1cf3144cca7a5ad73acb935b2b7ad06613203b71754f5b" > 00046< / a > < a class = "code" href = "classScope.html#a357719c423175c6c49b1cf3144cca7a5ad73acb935b2b7ad06613203b71754f5b" > LOGICAL_BLOCK_SCOPE< / a >
< a name = "l00047" > < / a > 00047 } < a class = "code" href = "classScope.html#a357719c423175c6c49b1cf3144cca7a5" title = "enum for classifying type of scope" > Type< / a > ;
< a name = "l00048" > < / a > 00048
< a name = "l00049" > < / a > < a class = "code" href = "classScope.html#a6a24b848c51155b2656ae11b503ca132" > 00049< / a > < span class = "keyword" > typedef< / span > XERCES_CPP_NAMESPACE_QUALIFIER RefHash2KeysTableOf< VarHashEntry< TYPE> > < a class = "code" href = "classScope.html#a6a24b848c51155b2656ae11b503ca132" > VarHash< / a > ;
< a name = "l00050" > < / a > 00050
< a name = "l00052" > < / a > 00052 < a class = "code" href = "classScope.html#a177936eaead36bafe5e622c8b72bcba7" title = "constructor." > Scope< / a > (< a class = "code" href = "classXPath2MemoryManager.html" > XPath2MemoryManager< / a > * memMgr, < a class = "code" href = "classScope.html#a357719c423175c6c49b1cf3144cca7a5" title = "enum for classifying type of scope" > Type< / a > type);
< a name = "l00053" > < / a > 00053 < a class = "code" href = "classScope.html#a229a9367bcbf0f874947703c4819d56c" > ~Scope< / a > ();
< a name = "l00054" > < / a > 00054
< a name = "l00055" > < / a > 00055 < span class = "keywordtype" > void< / span > < a class = "code" href = "classScope.html#ae0e4332611c4e2d6d19c85d75dde5453" > clear< / a > ();
< a name = "l00056" > < / a > 00056
< a name = "l00057" > < / a > 00057 < a class = "code" href = "classScope.html#a357719c423175c6c49b1cf3144cca7a5" title = "enum for classifying type of scope" > Type< / a > < a class = "code" href = "classScope.html#a0f89c57ddb230fa01dac97e6b46a73ae" > getType< / a > () < span class = "keyword" > const< / span > ;
< a name = "l00058" > < / a > 00058 < a class = "code" href = "classVarHashEntry.html" title = "The class that stores the values of the variables." > VarHashEntry< TYPE> < / a > * < span class = "keyword" > get< / span > (< span class = "keywordtype" > unsigned< / span > < span class = "keywordtype" > int< / span > nsID, < span class = "keyword" > const< / span > XMLCh* name);
< a name = "l00059" > < / a > 00059 < span class = "keywordtype" > void< / span > < a class = "code" href = "classScope.html#aeb5cbf8b48e333f9b87244b41d237b8e" > put< / a > (< span class = "keywordtype" > unsigned< / span > < span class = "keywordtype" > int< / span > nsID, < span class = "keyword" > const< / span > XMLCh* name, < a class = "code" href = "classVarHashEntry.html" title = "The class that stores the values of the variables." > VarHashEntry< TYPE> < / a > * value);
< a name = "l00060" > < / a > 00060 < span class = "keywordtype" > void< / span > < span class = "keyword" > remove< / span > (< span class = "keywordtype" > unsigned< / span > < span class = "keywordtype" > int< / span > nsID, < span class = "keyword" > const< / span > XMLCh* name);
< a name = "l00061" > < / a > 00061 std::vector< std::pair< unsigned int, const XMLCh*> > < a class = "code" href = "classScope.html#a5199e54e3304e533ad2c7e998bb86a81" > getVars< / a > () < span class = "keyword" > const< / span > ;
< a name = "l00062" > < / a > 00062
< a name = "l00063" > < / a > 00063 < a class = "code" href = "classScope.html" title = "used inside VariableStore to implement variable scoping" > Scope< / a > * < a class = "code" href = "classScope.html#afcdfea70b1096d60d4ae41ad4d3df391" > getNext< / a > ();
< a name = "l00064" > < / a > 00064 < span class = "keywordtype" > void< / span > < a class = "code" href = "classScope.html#a173df64f4ac82462d3868021caf34144" > setNext< / a > (< a class = "code" href = "classScope.html" title = "used inside VariableStore to implement variable scoping" > Scope< / a > * next);
< a name = "l00065" > < / a > 00065
< a name = "l00066" > < / a > 00066 < span class = "keyword" > private< / span > :
< a name = "l00067" > < / a > 00067 < span class = "keyword" > typename< / span > < a class = "code" href = "classScope.html#a357719c423175c6c49b1cf3144cca7a5" title = "enum for classifying type of scope" > Scope< TYPE> ::Type< / a > _type;
< a name = "l00068" > < / a > 00068 < a class = "code" href = "classScope.html#a6a24b848c51155b2656ae11b503ca132" > VarHash< / a > _map;
< a name = "l00069" > < / a > 00069 < a class = "code" href = "classXPath2MemoryManager.html" > XPath2MemoryManager< / a > * _memMgr;
< a name = "l00070" > < / a > 00070 < a class = "code" href = "classScope.html" title = "used inside VariableStore to implement variable scoping" > Scope< TYPE> < / a > * _next;
< a name = "l00071" > < / a > 00071 };
< a name = "l00072" > < / a > 00072
< a name = "l00073" > < / a > 00073 < span class = "keyword" > template< / span > < < span class = "keyword" > class< / span > TYPE>
< a name = "l00074" > < / a > < a class = "code" href = "classScope.html#a177936eaead36bafe5e622c8b72bcba7" > 00074< / a > < a class = "code" href = "classScope.html#a177936eaead36bafe5e622c8b72bcba7" title = "constructor." > Scope< TYPE> ::Scope< / a > (< a class = "code" href = "classXPath2MemoryManager.html" > XPath2MemoryManager< / a > * memMgr, < a class = "code" href = "classScope.html#a357719c423175c6c49b1cf3144cca7a5" title = "enum for classifying type of scope" > Type< / a > type) :
< a name = "l00075" > < / a > 00075 _map(17, true, memMgr)
< a name = "l00076" > < / a > 00076 {
< a name = "l00077" > < / a > 00077 _memMgr=memMgr;
< a name = "l00078" > < / a > 00078 _type = type;
< a name = "l00079" > < / a > 00079 _next = NULL;
< a name = "l00080" > < / a > 00080 }
< a name = "l00081" > < / a > 00081
< a name = "l00082" > < / a > 00082 < span class = "keyword" > template< / span > < < span class = "keyword" > class< / span > TYPE>
< a name = "l00083" > < / a > < a class = "code" href = "classScope.html#ae0e4332611c4e2d6d19c85d75dde5453" > 00083< / a > < span class = "keywordtype" > void< / span > < a class = "code" href = "classScope.html#ae0e4332611c4e2d6d19c85d75dde5453" > Scope< TYPE> ::clear< / a > ()
< a name = "l00084" > < / a > 00084 {
< a name = "l00085" > < / a > 00085 _map.removeAll();
< a name = "l00086" > < / a > 00086 }
< a name = "l00087" > < / a > 00087
< a name = "l00088" > < / a > 00088 < span class = "keyword" > template< / span > < < span class = "keyword" > class< / span > TYPE>
< a name = "l00089" > < / a > < a class = "code" href = "classScope.html#a0f89c57ddb230fa01dac97e6b46a73ae" > 00089< / a > < span class = "keyword" > typename< / span > < a class = "code" href = "classScope.html#a357719c423175c6c49b1cf3144cca7a5" title = "enum for classifying type of scope" > Scope< TYPE> ::Type< / a > < a class = "code" href = "classScope.html#a0f89c57ddb230fa01dac97e6b46a73ae" > Scope< TYPE> ::getType< / a > ()< span class = "keyword" > const< / span >
< a name = "l00090" > < / a > 00090 < span class = "keyword" > < / span > {
< a name = "l00091" > < / a > 00091 < span class = "keywordflow" > return< / span > _type;
< a name = "l00092" > < / a > 00092 }
< a name = "l00093" > < / a > 00093
< a name = "l00094" > < / a > 00094 < span class = "keyword" > template< / span > < < span class = "keyword" > class< / span > TYPE>
< a name = "l00095" > < / a > < a class = "code" href = "classScope.html#a3479f6322803f522b024e4f01b6ffc68" > 00095< / a > < a class = "code" href = "classVarHashEntry.html" title = "The class that stores the values of the variables." > VarHashEntry< TYPE> < / a > * < a class = "code" href = "classScope.html#a3479f6322803f522b024e4f01b6ffc68" > Scope< TYPE> ::get< / a > (< span class = "keywordtype" > unsigned< / span > < span class = "keywordtype" > int< / span > nsID, < span class = "keyword" > const< / span > XMLCh* name)
< a name = "l00096" > < / a > 00096 {
< a name = "l00097" > < / a > 00097 < span class = "keywordflow" > return< / span > _map.get(name,nsID);
< a name = "l00098" > < / a > 00098 }
< a name = "l00099" > < / a > 00099
< a name = "l00100" > < / a > 00100 < span class = "keyword" > template< / span > < < span class = "keyword" > class< / span > TYPE>
< a name = "l00101" > < / a > < a class = "code" href = "classScope.html#aeb5cbf8b48e333f9b87244b41d237b8e" > 00101< / a > < span class = "keywordtype" > void< / span > < a class = "code" href = "classScope.html#aeb5cbf8b48e333f9b87244b41d237b8e" > Scope< TYPE> ::put< / a > (< span class = "keywordtype" > unsigned< / span > < span class = "keywordtype" > int< / span > nsID, < span class = "keyword" > const< / span > XMLCh* name, < a class = "code" href = "classVarHashEntry.html" title = "The class that stores the values of the variables." > VarHashEntry< TYPE> < / a > * value)
< a name = "l00102" > < / a > 00102 {
< a name = "l00103" > < / a > 00103 _map.put((< span class = "keywordtype" > void< / span > *)_memMgr-> < a class = "code" href = "classXPath2MemoryManager.html#ace77d8d5e09bf682301c847b8739c9e0" title = "Returns a copy of the given string." > getPooledString< / a > (name),nsID,value);
< a name = "l00104" > < / a > 00104 }
< a name = "l00105" > < / a > 00105
< a name = "l00106" > < / a > 00106 < span class = "keyword" > template< / span > < < span class = "keyword" > class< / span > TYPE>
< a name = "l00107" > < / a > < a class = "code" href = "classScope.html#a3ecaa09a44e7e7a1003bd7ffd2b9e8cd" > 00107< / a > < span class = "keywordtype" > void< / span > < a class = "code" href = "classScope.html#a3ecaa09a44e7e7a1003bd7ffd2b9e8cd" > Scope< TYPE> ::remove< / a > (< span class = "keywordtype" > unsigned< / span > < span class = "keywordtype" > int< / span > nsID, < span class = "keyword" > const< / span > XMLCh* name)
< a name = "l00108" > < / a > 00108 {
< a name = "l00109" > < / a > 00109 _map.removeKey(name,nsID);
< a name = "l00110" > < / a > 00110 }
< a name = "l00111" > < / a > 00111
< a name = "l00112" > < / a > 00112 < span class = "keyword" > template< / span > < < span class = "keyword" > class< / span > TYPE>
< a name = "l00113" > < / a > < a class = "code" href = "classScope.html#a5199e54e3304e533ad2c7e998bb86a81" > 00113< / a > std::vector< std::pair< unsigned int, const XMLCh*> > < a class = "code" href = "classScope.html#a5199e54e3304e533ad2c7e998bb86a81" > Scope< TYPE> ::getVars< / a > ()< span class = "keyword" > const< / span >
< a name = "l00114" > < / a > 00114 < span class = "keyword" > < / span > {
< a name = "l00115" > < / a > 00115 std::vector< std::pair< unsigned int, const XMLCh*> > result;
< a name = "l00116" > < / a > 00116 XERCES_CPP_NAMESPACE_QUALIFIER RefHash2KeysTableOfEnumerator< VarHashEntry< TYPE> > iterator(const_cast< VarHash*> (& _map));
< a name = "l00117" > < / a > 00117 < span class = "keywordflow" > while< / span > (iterator.hasMoreElements())
< a name = "l00118" > < / a > 00118 {
< a name = "l00119" > < / a > 00119 XMLCh* name;
< a name = "l00120" > < / a > 00120 < span class = "keywordtype" > int< / span > nsID;
< a name = "l00121" > < / a > 00121 iterator.nextElementKey((< span class = "keywordtype" > void< / span > *& )name, nsID);
< a name = "l00122" > < / a > 00122 result.push_back(std::pair< unsigned int, const XMLCh*> (nsID,name));
< a name = "l00123" > < / a > 00123 }
< a name = "l00124" > < / a > 00124 < span class = "keywordflow" > return< / span > result;
< a name = "l00125" > < / a > 00125 }
< a name = "l00126" > < / a > 00126
< a name = "l00127" > < / a > 00127 < span class = "keyword" > template< / span > < < span class = "keyword" > class< / span > TYPE>
< a name = "l00128" > < / a > < a class = "code" href = "classScope.html#a229a9367bcbf0f874947703c4819d56c" > 00128< / a > < a class = "code" href = "classScope.html#a229a9367bcbf0f874947703c4819d56c" > Scope< TYPE> ::~Scope< / a > ()
< a name = "l00129" > < / a > 00129 {
< a name = "l00130" > < / a > 00130 _map.removeAll();
< a name = "l00131" > < / a > 00131 }
< a name = "l00132" > < / a > 00132
< a name = "l00133" > < / a > 00133 < span class = "keyword" > template< / span > < < span class = "keyword" > class< / span > TYPE>
< a name = "l00134" > < / a > < a class = "code" href = "classScope.html#afcdfea70b1096d60d4ae41ad4d3df391" > 00134< / a > < a class = "code" href = "classScope.html" title = "used inside VariableStore to implement variable scoping" > Scope< TYPE> < / a > * < a class = "code" href = "classScope.html#afcdfea70b1096d60d4ae41ad4d3df391" > Scope< TYPE> ::getNext< / a > ()
< a name = "l00135" > < / a > 00135 {
< a name = "l00136" > < / a > 00136 < span class = "keywordflow" > return< / span > _next;
< a name = "l00137" > < / a > 00137 }
< a name = "l00138" > < / a > 00138
< a name = "l00139" > < / a > 00139 < span class = "keyword" > template< / span > < < span class = "keyword" > class< / span > TYPE>
< a name = "l00140" > < / a > < a class = "code" href = "classScope.html#a173df64f4ac82462d3868021caf34144" > 00140< / a > < span class = "keywordtype" > void< / span > < a class = "code" href = "classScope.html#a173df64f4ac82462d3868021caf34144" > Scope< TYPE> ::setNext< / a > (< a class = "code" href = "classScope.html" title = "used inside VariableStore to implement variable scoping" > Scope< TYPE> < / a > * next)
< a name = "l00141" > < / a > 00141 {
< a name = "l00142" > < / a > 00142 _next=next;
< a name = "l00143" > < / a > 00143 }
< a name = "l00144" > < / a > 00144
< a name = "l00145" > < / a > 00145 < span class = "preprocessor" > #endif // _SCOPE_HPP< / span >
< / pre > < / div > < / div >
2020-02-17 22:21:23 +01:00
< hr size = "1" / > < address style = "text-align: right;" > < small > Generated on Mon Mar 1 21:15:51 2010 for XQilla Simple API by
2020-02-17 22:19:57 +01:00
< a href = "http://www.doxygen.org/index.html" >
< img class = "footer" src = "doxygen.png" alt = "doxygen" / > < / a > 1.6.1 < / small > < / address >
< / body >
< / html >