aboutsummaryrefslogtreecommitdiff
path: root/xsde/cxx/elements.hxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2009-10-11 14:46:03 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2009-10-11 14:46:03 +0200
commit4db2142db2106d3dbbd593b417fa37af0a330401 (patch)
tree011f9f4e0a71288e8e56003e2d4d7c28a12e969c /xsde/cxx/elements.hxx
parentde60e8f85040f79ecbdcc5d94a341e21f0a2db0d (diff)
Use a set instead of pre-sorted array for keywords
The pre-sorted array approach depends on the character encoding.
Diffstat (limited to 'xsde/cxx/elements.hxx')
-rw-r--r--xsde/cxx/elements.hxx10
1 files changed, 8 insertions, 2 deletions
diff --git a/xsde/cxx/elements.hxx b/xsde/cxx/elements.hxx
index 3125cd6..6504ac2 100644
--- a/xsde/cxx/elements.hxx
+++ b/xsde/cxx/elements.hxx
@@ -117,6 +117,7 @@ namespace CXX
typedef Cult::Containers::Map<String, String> MappingCache;
typedef Cult::Containers::Map<String, String> ReservedNameMap;
+ typedef Cult::Containers::Set<String> KeywordSet;
public:
Context (std::wostream& o,
@@ -155,7 +156,8 @@ namespace CXX
nsm_mapping (c.nsm_mapping),
include_mapping (c.include_mapping),
trace_include_regex (c.trace_include_regex),
- reserved_name_map (c.reserved_name_map)
+ reserved_name_map (c.reserved_name_map),
+ keyword_set (c.keyword_set)
{
}
@@ -179,7 +181,8 @@ namespace CXX
nsm_mapping (c.nsm_mapping),
include_mapping (c.include_mapping),
trace_include_regex (c.trace_include_regex),
- reserved_name_map (c.reserved_name_map)
+ reserved_name_map (c.reserved_name_map),
+ keyword_set (c.keyword_set)
{
}
@@ -336,6 +339,9 @@ namespace CXX
ReservedNameMap const& reserved_name_map;
ReservedNameMap reserved_name_map_;
+
+ KeywordSet const& keyword_set;
+ KeywordSet keyword_set_;
};
inline UnsignedLong Context::