diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2009-10-11 14:45:21 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2009-10-11 14:45:21 +0200 |
commit | 48778e6ccb9dfac96f939584c336a1e8ca7a36ad (patch) | |
tree | 68825277d80883e6568ef7ec30bc63af722068e9 /xsd/cxx/elements.hxx | |
parent | 0e70bc69e1a686933a69ba6a60c1ea48f50b327c (diff) |
Use a set instead of pre-sorted array for keywords
The pre-sorted array approach depends on the character encoding.
Diffstat (limited to 'xsd/cxx/elements.hxx')
-rw-r--r-- | xsd/cxx/elements.hxx | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/xsd/cxx/elements.hxx b/xsd/cxx/elements.hxx index dba9665..8ab2c87 100644 --- a/xsd/cxx/elements.hxx +++ b/xsd/cxx/elements.hxx @@ -7,6 +7,7 @@ #define CXX_ELEMENTS_HXX #include <cult/types.hxx> +#include <cult/containers/set.hxx> #include <cult/containers/map.hxx> #include <cult/containers/vector.hxx> @@ -118,6 +119,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, @@ -154,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) { } @@ -177,7 +180,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) { } @@ -346,6 +350,9 @@ namespace CXX ReservedNameMap const& reserved_name_map; ReservedNameMap reserved_name_map_; + + KeywordSet const& keyword_set; + KeywordSet keyword_set_; }; inline UnsignedLong Context:: |