aboutsummaryrefslogtreecommitdiff
path: root/xsde/cxx/hybrid
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2010-10-12 11:26:08 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2010-10-12 11:26:08 +0200
commit51231f66aee0bbbd14d361d9e8e0009e99d57974 (patch)
tree00bf887154f994e6156108c4e79b747007af8efa /xsde/cxx/hybrid
parent9553149aa6b6561c49981adf2848607a43765054 (diff)
Finish {min,max}{Exclusive,Inclusive} facets support
New test: hybrid/facets.
Diffstat (limited to 'xsde/cxx/hybrid')
-rw-r--r--xsde/cxx/hybrid/default-value.cxx505
-rw-r--r--xsde/cxx/hybrid/default-value.hxx145
-rw-r--r--xsde/cxx/hybrid/elements.cxx1
-rw-r--r--xsde/cxx/hybrid/parser-name-processor.cxx1
-rw-r--r--xsde/cxx/hybrid/serializer-name-processor.cxx1
-rw-r--r--xsde/cxx/hybrid/tree-name-processor.cxx1
-rw-r--r--xsde/cxx/hybrid/tree-source.cxx2
-rw-r--r--xsde/cxx/hybrid/tree-type-map.cxx1
8 files changed, 51 insertions, 606 deletions
diff --git a/xsde/cxx/hybrid/default-value.cxx b/xsde/cxx/hybrid/default-value.cxx
index 4375e1f..d63c636 100644
--- a/xsde/cxx/hybrid/default-value.cxx
+++ b/xsde/cxx/hybrid/default-value.cxx
@@ -9,421 +9,6 @@ namespace CXX
{
namespace Hybrid
{
- namespace
- {
- Void
- normalize (String& s)
- {
- Size n (s.size ());
-
- for (Size i (0); i < n; ++i)
- {
- WideChar& c (s[i]);
-
- if (c == 0x0D || // carriage return
- c == 0x09 || // tab
- c == 0x0A)
- c = 0x20;
- }
- }
-
- Void
- collapse (String& s)
- {
- Size n (s.size ()), j (0);
- Boolean subs (false), trim (true);
-
- for (Size i (0); i < n; ++i)
- {
- WideChar c (s[i]);
-
- if (c == 0x20 || c == 0x09 || c == 0x0A)
- subs = true;
- else
- {
- if (subs)
- {
- subs = false;
-
- if (!trim)
- s[j++] = 0x20;
- }
-
- if (trim)
- trim = false;
-
- s[j++] = c;
- }
- }
-
- s.resize (j);
- }
-
- Void
- strip_zeros (String& s)
- {
- Size n (s.size ()), i (0);
-
- if (n > 0 && (s[i] == '-' || s[i] == '+'))
- i++;
-
- Size j (i);
-
- Boolean strip (true);
-
- for (; i < n; ++i)
- {
- WideChar c (s[i]);
-
- if (c == '0')
- {
- if (!strip)
- s[j++] = c;
- }
- else
- {
- s[j++] = c;
-
- if (strip)
- strip = false;
- }
- }
-
- if (strip && j < n)
- s[j++] = '0'; // There was nothing except zeros so add one back.
-
- s.resize (j);
- }
-
- Void
- make_float (String& s)
- {
- if (s.find ('.') == String::npos &&
- s.find ('e') == String::npos &&
- s.find ('E') == String::npos)
- s += L".0";
- }
-
- }
-
- //
- // LiteralValue
- //
- LiteralValue::
- LiteralValue (Context& c)
- : Context (c), str_ (!stl)
- {
- }
-
- LiteralValue::
- LiteralValue (Context& c, Boolean str)
- : Context (c), str_ (str)
- {
- }
-
- String LiteralValue::
- dispatch (SemanticGraph::Node& type, String const& value)
- {
- literal_.clear ();
- value_ = value;
- Traversal::NodeBase::dispatch (type);
- return literal_;
- }
-
- // Boolean.
- //
- Void LiteralValue::
- traverse (SemanticGraph::Fundamental::Boolean&)
- {
- collapse (value_);
- literal_ = (value_ == L"true" || value_ == L"1") ? "true" : "false";
- }
-
- // Integral types.
- //
- Void LiteralValue::
- traverse (SemanticGraph::Fundamental::Byte&)
- {
- collapse (value_);
- strip_zeros (value_);
- literal_ = value_;
- }
-
- Void LiteralValue::
- traverse (SemanticGraph::Fundamental::UnsignedByte&)
- {
- collapse (value_);
- strip_zeros (value_);
- literal_ = value_ + L"U";
- }
-
- Void LiteralValue::
- traverse (SemanticGraph::Fundamental::Short&)
- {
- collapse (value_);
- strip_zeros (value_);
- literal_ = value_;
- }
-
- Void LiteralValue::
- traverse (SemanticGraph::Fundamental::UnsignedShort&)
- {
- collapse (value_);
- strip_zeros (value_);
- literal_ = value_ + L"U";
- }
-
- Void LiteralValue::
- traverse (SemanticGraph::Fundamental::Int&)
- {
- collapse (value_);
- strip_zeros (value_);
- literal_ = value_;
- }
-
- Void LiteralValue::
- traverse (SemanticGraph::Fundamental::UnsignedInt&)
- {
- collapse (value_);
- strip_zeros (value_);
- literal_ = value_ + L"U";
- }
-
- Void LiteralValue::
- traverse (SemanticGraph::Fundamental::Long&)
- {
- collapse (value_);
- strip_zeros (value_);
- literal_ = value_;
- literal_ += options.value<CLI::no_long_long> () ? L"L" : L"LL";
- }
-
- Void LiteralValue::
- traverse (SemanticGraph::Fundamental::UnsignedLong&)
- {
- collapse (value_);
- strip_zeros (value_);
- literal_ = value_;
- literal_ += options.value<CLI::no_long_long> () ? L"UL" : L"ULL";
- }
-
- Void LiteralValue::
- traverse (SemanticGraph::Fundamental::Integer&)
- {
- collapse (value_);
- strip_zeros (value_);
- literal_ = value_ + L"L";
- }
-
- Void LiteralValue::
- traverse (SemanticGraph::Fundamental::NonPositiveInteger&)
- {
- collapse (value_);
- strip_zeros (value_);
- literal_ = value_ + L"L";
- }
-
- Void LiteralValue::
- traverse (SemanticGraph::Fundamental::NonNegativeInteger&)
- {
- collapse (value_);
- strip_zeros (value_);
- literal_ = value_ + L"UL";
- }
-
- Void LiteralValue::
- traverse (SemanticGraph::Fundamental::PositiveInteger&)
- {
- collapse (value_);
- strip_zeros (value_);
- literal_ = value_ + L"UL";
- }
-
- Void LiteralValue::
- traverse (SemanticGraph::Fundamental::NegativeInteger&)
- {
- collapse (value_);
- strip_zeros (value_);
- literal_ = value_ + L"L";
- }
-
- // Floats.
- //
- Void LiteralValue::
- traverse (SemanticGraph::Fundamental::Float&)
- {
- collapse (value_);
-
- if (value_ == L"NaN")
- {
- literal_ = "static_cast< float > (strtod (\"NAN\", 0))";
- }
- else if (value_ == L"INF")
- {
- literal_ = "static_cast< float > (strtod (\"INF\", 0))";
- }
- else if (value_ == L"-INF")
- {
- literal_ = "static_cast< float > (strtod (\"-INF\", 0))";
- }
- else
- {
- strip_zeros (value_);
- make_float (value_);
- literal_ = value_ + L"F";
- }
- }
-
- Void LiteralValue::
- traverse (SemanticGraph::Fundamental::Double&)
- {
- collapse (value_);
-
- if (value_ == L"NaN")
- {
- literal_ = "strtod (\"NAN\", 0)";
- }
- else if (value_ == L"INF")
- {
- literal_ = "strtod (\"INF\", 0)";
- }
- else if (value_ == L"-INF")
- {
- literal_ = "strtod (\"-INF\", 0)";
- }
- else
- {
- strip_zeros (value_);
- make_float (value_);
- literal_ = value_;
- }
- }
-
- Void LiteralValue::
- traverse (SemanticGraph::Fundamental::Decimal&)
- {
- collapse (value_);
- strip_zeros (value_);
- make_float (value_);
- literal_ = value_;
- }
-
- // Strings.
- //
- Void LiteralValue::
- traverse (SemanticGraph::Fundamental::String&)
- {
- if (str_)
- literal_ = strlit (value_);
- }
-
- Void LiteralValue::
- traverse (SemanticGraph::Fundamental::NormalizedString&)
- {
- if (str_)
- {
- normalize (value_);
- literal_ = strlit (value_);
- }
- }
-
- Void LiteralValue::
- traverse (SemanticGraph::Fundamental::Token&)
- {
- if (str_)
- {
- collapse (value_);
- literal_ = strlit (value_);
- }
- }
-
- Void LiteralValue::
- traverse (SemanticGraph::Fundamental::NameToken&)
- {
- if (str_)
- {
- collapse (value_);
- literal_ = strlit (value_);
- }
- }
-
- Void LiteralValue::
- traverse (SemanticGraph::Fundamental::Name&)
- {
- if (str_)
- {
- collapse (value_);
- literal_ = strlit (value_);
- }
- }
-
- Void LiteralValue::
- traverse (SemanticGraph::Fundamental::NCName&)
- {
- if (str_)
- {
- collapse (value_);
- literal_ = strlit (value_);
- }
- }
-
- Void LiteralValue::
- traverse (SemanticGraph::Fundamental::Language&)
- {
- if (str_)
- {
- collapse (value_);
- literal_ = strlit (value_);
- }
- }
-
-
- // ID/IDREF.
- //
- Void LiteralValue::
- traverse (SemanticGraph::Fundamental::Id&)
- {
- if (str_)
- {
- collapse (value_);
- literal_ = strlit (value_);
- }
- }
-
- Void LiteralValue::
- traverse (SemanticGraph::Fundamental::IdRef&)
- {
- if (str_)
- {
- collapse (value_);
- literal_ = strlit (value_);
- }
- }
-
- // URI.
- //
- Void LiteralValue::
- traverse (SemanticGraph::Fundamental::AnyURI&)
- {
- if (str_)
- {
- collapse (value_);
- literal_ = strlit (value_);
- }
- }
-
- // Entity.
- //
- Void LiteralValue::
- traverse (SemanticGraph::Fundamental::Entity&)
- {
- if (str_)
- {
- collapse (value_);
- literal_ = strlit (value_);
- }
- }
-
//
// InitValue
//
@@ -435,7 +20,7 @@ namespace CXX
var_ (c, TypeName::var),
var_value_ (c, TypeName::var_value),
literal_value_ (c, true),
- literal_value_list_ (c)
+ literal_value_list_ (c, !stl)
{
}
@@ -452,7 +37,7 @@ namespace CXX
SemanticGraph::Type& t (l.argumented ().type ());
Boolean fl (fixed_length (t));
- collapse (value_);
+ LiteralValue::collapse (value_);
if (!value_)
return;
@@ -710,7 +295,7 @@ namespace CXX
if (p != String::npos)
value_ = String (value_, p + 1, value_.size () - p - 1);
- collapse (value_);
+ LiteralValue::collapse (value_);
String prefix, name;
p = value_.find (':');
@@ -776,7 +361,7 @@ namespace CXX
Void InitValue::
traverse (SemanticGraph::Fundamental::Base64Binary&)
{
- collapse (value_);
+ LiteralValue::collapse (value_);
if (value_)
os << "#error base64Binary default values are not yet supported"
@@ -786,7 +371,7 @@ namespace CXX
Void InitValue::
traverse (SemanticGraph::Fundamental::HexBinary&)
{
- collapse (value_);
+ LiteralValue::collapse (value_);
if (value_)
os << "#error hexBinary default values are not yet supported"
@@ -801,7 +386,7 @@ namespace CXX
{
// date := [-]CCYY[N]*-MM-DD[Z|(+|-)HH:MM]
//
- collapse (value_);
+ LiteralValue::collapse (value_);
Size b (0);
Size e (value_.find ('-', value_[0] == '-' ? 5 : 4));
@@ -813,9 +398,9 @@ namespace CXX
b += 3;
String day (value_, b, 2);
- strip_zeros (year);
- strip_zeros (month);
- strip_zeros (day);
+ LiteralValue::strip_zeros (year);
+ LiteralValue::strip_zeros (month);
+ LiteralValue::strip_zeros (day);
os << member_ << "year (" << year << ");"
<< member_ << "month (" << month << ");"
@@ -829,7 +414,7 @@ namespace CXX
{
// date_time := [-]CCYY[N]*-MM-DDTHH:MM:SS[.S+][Z|(+|-)HH:MM]
//
- collapse (value_);
+ LiteralValue::collapse (value_);
Size b (0);
Size e (value_.find ('-', value_[0] == '-' ? 5 : 4));
@@ -859,13 +444,13 @@ namespace CXX
String seconds (value_, b, e - b);
- strip_zeros (year);
- strip_zeros (month);
- strip_zeros (day);
- strip_zeros (hours);
- strip_zeros (minutes);
- strip_zeros (seconds);
- make_float (seconds);
+ LiteralValue::strip_zeros (year);
+ LiteralValue::strip_zeros (month);
+ LiteralValue::strip_zeros (day);
+ LiteralValue::strip_zeros (hours);
+ LiteralValue::strip_zeros (minutes);
+ LiteralValue::strip_zeros (seconds);
+ LiteralValue::make_float (seconds);
os << member_ << "year (" << year << ");"
<< member_ << "month (" << month << ");"
@@ -900,7 +485,7 @@ namespace CXX
{
// duration := [-]P[nY][nM][nD][TnHnMn[.n+]S]
//
- collapse (value_);
+ LiteralValue::collapse (value_);
Size b (1), e, n (value_.size ());
@@ -915,7 +500,7 @@ namespace CXX
if (e < n && value_[e] == 'Y')
{
String v (value_, b, e - b);
- strip_zeros (v);
+ LiteralValue::strip_zeros (v);
os << member_ << "years (" << v << ");";
b = e + 1;
@@ -925,7 +510,7 @@ namespace CXX
if (e < n && value_[e] == 'M')
{
String v (value_, b, e - b);
- strip_zeros (v);
+ LiteralValue::strip_zeros (v);
os << member_ << "months (" << v << ");";
b = e + 1;
@@ -935,7 +520,7 @@ namespace CXX
if (e < n && value_[e] == 'D')
{
String v (value_, b, e - b);
- strip_zeros (v);
+ LiteralValue::strip_zeros (v);
os << member_ << "days (" << v << ");";
b = e + 1;
@@ -951,7 +536,7 @@ namespace CXX
if (e < n && value_[e] == 'H')
{
String v (value_, b, e - b);
- strip_zeros (v);
+ LiteralValue::strip_zeros (v);
os << member_ << "hours (" << v << ");";
b = e + 1;
@@ -961,7 +546,7 @@ namespace CXX
if (e < n && value_[e] == 'M')
{
String v (value_, b, e - b);
- strip_zeros (v);
+ LiteralValue::strip_zeros (v);
os << member_ << "minutes (" << v << ");";
b = e + 1;
@@ -971,8 +556,8 @@ namespace CXX
if (e < n && value_[e] == 'S')
{
String v (value_, b, e - b);
- strip_zeros (v);
- make_float (v);
+ LiteralValue::strip_zeros (v);
+ LiteralValue::make_float (v);
os << member_ << "seconds (" << v << ");";
b = e + 1;
@@ -985,10 +570,10 @@ namespace CXX
{
// gday := ---DD[Z|(+|-)HH:MM]
//
- collapse (value_);
+ LiteralValue::collapse (value_);
String day (value_, 3, 2);
- strip_zeros (day);
+ LiteralValue::strip_zeros (day);
os << member_ << "day (" << day << ");";
@@ -1000,10 +585,10 @@ namespace CXX
{
// gmonth := --MM[Z|(+|-)HH:MM]
//
- collapse (value_);
+ LiteralValue::collapse (value_);
String month (value_, 2, 2);
- strip_zeros (month);
+ LiteralValue::strip_zeros (month);
os << member_ << "month (" << month << ");";
@@ -1015,13 +600,13 @@ namespace CXX
{
// gmonth_day := --MM-DD[Z|(+|-)HH:MM]
//
- collapse (value_);
+ LiteralValue::collapse (value_);
String month (value_, 2, 2);
String day (value_, 5, 2);
- strip_zeros (month);
- strip_zeros (day);
+ LiteralValue::strip_zeros (month);
+ LiteralValue::strip_zeros (day);
os << member_ << "month (" << month << ");";
os << member_ << "day (" << day << ");";
@@ -1034,7 +619,7 @@ namespace CXX
{
// gyear := [-]CCYY[N]*[Z|(+|-)HH:MM]
//
- collapse (value_);
+ LiteralValue::collapse (value_);
Size pos (value_[0] == '-' ? 5 : 4);
for (; pos < value_.size (); ++pos)
@@ -1046,7 +631,7 @@ namespace CXX
}
String year (value_, 0, pos);
- strip_zeros (year);
+ LiteralValue::strip_zeros (year);
os << member_ << "year (" << year << ");";
@@ -1058,15 +643,15 @@ namespace CXX
{
// gyear_month := [-]CCYY[N]*-MM[Z|(+|-)HH:MM]
//
- collapse (value_);
+ LiteralValue::collapse (value_);
Size pos (value_.find ('-', value_[0] == '-' ? 5 : 4));
String year (value_, 0, pos);
String month (value_, pos + 1, 2);
- strip_zeros (year);
- strip_zeros (month);
+ LiteralValue::strip_zeros (year);
+ LiteralValue::strip_zeros (month);
os << member_ << "year (" << year << ");";
os << member_ << "month (" << month << ");";
@@ -1079,7 +664,7 @@ namespace CXX
{
// time := HH:MM:SS[.S+][Z|(+|-)HH:MM]
//
- collapse (value_);
+ LiteralValue::collapse (value_);
String hours (value_, 0, 2);
String minutes (value_, 3, 2);
@@ -1095,10 +680,10 @@ namespace CXX
String seconds (value_, 6, e - 6);
- strip_zeros (hours);
- strip_zeros (minutes);
- strip_zeros (seconds);
- make_float (seconds);
+ LiteralValue::strip_zeros (hours);
+ LiteralValue::strip_zeros (minutes);
+ LiteralValue::strip_zeros (seconds);
+ LiteralValue::make_float (seconds);
os << member_ << "hours (" << hours << ");"
<< member_ << "minutes (" << minutes << ");"
@@ -1132,8 +717,8 @@ namespace CXX
h.append (value_, pos + 1, 2);
m.append (value_, pos + 4, 2);
- strip_zeros (h);
- strip_zeros (m);
+ LiteralValue::strip_zeros (h);
+ LiteralValue::strip_zeros (m);
}
os << member_ << "zone_hours (" << h << ");"
@@ -1195,7 +780,7 @@ namespace CXX
Void InitValue::
string_sequence_type ()
{
- collapse (value_);
+ LiteralValue::collapse (value_);
if (!value_)
return;
diff --git a/xsde/cxx/hybrid/default-value.hxx b/xsde/cxx/hybrid/default-value.hxx
index 5d8b698..aef9049 100644
--- a/xsde/cxx/hybrid/default-value.hxx
+++ b/xsde/cxx/hybrid/default-value.hxx
@@ -15,151 +15,6 @@ namespace CXX
{
namespace Hybrid
{
- struct LiteralValue: Traversal::Fundamental::Byte,
- Traversal::Fundamental::UnsignedByte,
- Traversal::Fundamental::Short,
- Traversal::Fundamental::UnsignedShort,
- Traversal::Fundamental::Int,
- Traversal::Fundamental::UnsignedInt,
- Traversal::Fundamental::Long,
- Traversal::Fundamental::UnsignedLong,
- Traversal::Fundamental::Integer,
- Traversal::Fundamental::NonPositiveInteger,
- Traversal::Fundamental::NonNegativeInteger,
- Traversal::Fundamental::PositiveInteger,
- Traversal::Fundamental::NegativeInteger,
-
- Traversal::Fundamental::Boolean,
-
- Traversal::Fundamental::Float,
- Traversal::Fundamental::Double,
- Traversal::Fundamental::Decimal,
-
- Traversal::Fundamental::String,
- Traversal::Fundamental::NormalizedString,
- Traversal::Fundamental::Token,
- Traversal::Fundamental::Name,
- Traversal::Fundamental::NameToken,
- Traversal::Fundamental::NCName,
- Traversal::Fundamental::Language,
-
- Traversal::Fundamental::Id,
- Traversal::Fundamental::IdRef,
- Traversal::Fundamental::AnyURI,
- Traversal::Fundamental::Entity,
-
- Context
- {
- LiteralValue (Context&);
- LiteralValue (Context&, Boolean str);
-
- String
- dispatch (SemanticGraph::Node& type, String const& value);
-
- // Boolean.
- //
- virtual Void
- traverse (SemanticGraph::Fundamental::Boolean&);
-
- // Integral types.
- //
- virtual Void
- traverse (SemanticGraph::Fundamental::Byte&);
-
- virtual Void
- traverse (SemanticGraph::Fundamental::UnsignedByte&);
-
- virtual Void
- traverse (SemanticGraph::Fundamental::Short&);
-
- virtual Void
- traverse (SemanticGraph::Fundamental::UnsignedShort&);
-
- virtual Void
- traverse (SemanticGraph::Fundamental::Int&);
-
- virtual Void
- traverse (SemanticGraph::Fundamental::UnsignedInt&);
-
- virtual Void
- traverse (SemanticGraph::Fundamental::Long&);
-
- virtual Void
- traverse (SemanticGraph::Fundamental::UnsignedLong&);
-
- virtual Void
- traverse (SemanticGraph::Fundamental::Integer&);
-
- virtual Void
- traverse (SemanticGraph::Fundamental::NonPositiveInteger&);
-
- virtual Void
- traverse (SemanticGraph::Fundamental::NonNegativeInteger&);
-
- virtual Void
- traverse (SemanticGraph::Fundamental::PositiveInteger&);
-
- virtual Void
- traverse (SemanticGraph::Fundamental::NegativeInteger&);
-
- // Floats.
- //
- virtual Void
- traverse (SemanticGraph::Fundamental::Float&);
-
- virtual Void
- traverse (SemanticGraph::Fundamental::Double&);
-
- virtual Void
- traverse (SemanticGraph::Fundamental::Decimal&);
-
- // Strings.
- //
- virtual Void
- traverse (SemanticGraph::Fundamental::String&);
-
- virtual Void
- traverse (SemanticGraph::Fundamental::NormalizedString&);
-
- virtual Void
- traverse (SemanticGraph::Fundamental::Token&);
-
- virtual Void
- traverse (SemanticGraph::Fundamental::NameToken&);
-
- virtual Void
- traverse (SemanticGraph::Fundamental::Name&);
-
- virtual Void
- traverse (SemanticGraph::Fundamental::NCName&);
-
- virtual Void
- traverse (SemanticGraph::Fundamental::Language&);
-
- // ID/IDREF.
- //
- virtual Void
- traverse (SemanticGraph::Fundamental::Id&);
-
- virtual Void
- traverse (SemanticGraph::Fundamental::IdRef&);
-
- // URI.
- //
- virtual Void
- traverse (SemanticGraph::Fundamental::AnyURI&);
-
- // Entity.
- //
- virtual Void
- traverse (SemanticGraph::Fundamental::Entity&);
-
- private:
- Boolean str_;
- String value_;
- String literal_;
- };
-
struct InitValue: Traversal::List,
Traversal::Union,
Traversal::Complex,
diff --git a/xsde/cxx/hybrid/elements.cxx b/xsde/cxx/hybrid/elements.cxx
index b8c109a..4d5a481 100644
--- a/xsde/cxx/hybrid/elements.cxx
+++ b/xsde/cxx/hybrid/elements.cxx
@@ -33,6 +33,7 @@ namespace CXX
ops.value<CLI::include_regex_trace> (),
ops.value<CLI::generate_inline> (),
ops.value<CLI::custom_allocator> (),
+ !ops.value<CLI::no_long_long> (),
ops.value<CLI::reserved_name> ()),
options (ops),
exceptions (!ops.value<CLI::no_exceptions> ()),
diff --git a/xsde/cxx/hybrid/parser-name-processor.cxx b/xsde/cxx/hybrid/parser-name-processor.cxx
index 3dce6fe..b55e9b8 100644
--- a/xsde/cxx/hybrid/parser-name-processor.cxx
+++ b/xsde/cxx/hybrid/parser-name-processor.cxx
@@ -48,6 +48,7 @@ namespace CXX
ops.value<CLI::include_regex_trace> (),
ops.value<CLI::generate_inline> (),
ops.value<CLI::custom_allocator> (),
+ !ops.value<CLI::no_long_long> (),
ops.value<CLI::reserved_name> ()),
impl_suffix_ (ops.value<CLI::pimpl_type_suffix> ()),
aggr_suffix_ (ops.value<CLI::paggr_type_suffix> ()),
diff --git a/xsde/cxx/hybrid/serializer-name-processor.cxx b/xsde/cxx/hybrid/serializer-name-processor.cxx
index 41f8885..784a2af 100644
--- a/xsde/cxx/hybrid/serializer-name-processor.cxx
+++ b/xsde/cxx/hybrid/serializer-name-processor.cxx
@@ -47,6 +47,7 @@ namespace CXX
ops.value<CLI::include_regex_trace> (),
ops.value<CLI::generate_inline> (),
ops.value<CLI::custom_allocator> (),
+ !ops.value<CLI::no_long_long> (),
ops.value<CLI::reserved_name> ()),
impl_suffix_ (ops.value<CLI::simpl_type_suffix> ()),
aggr_suffix_ (ops.value<CLI::saggr_type_suffix> ()),
diff --git a/xsde/cxx/hybrid/tree-name-processor.cxx b/xsde/cxx/hybrid/tree-name-processor.cxx
index 8fa6aa6..bde0fb7 100644
--- a/xsde/cxx/hybrid/tree-name-processor.cxx
+++ b/xsde/cxx/hybrid/tree-name-processor.cxx
@@ -50,6 +50,7 @@ namespace CXX
ops.value<CLI::include_regex_trace> (),
ops.value<CLI::generate_inline> (),
ops.value<CLI::custom_allocator> (),
+ !ops.value<CLI::no_long_long> (),
ops.value<CLI::reserved_name> ()),
stl (!ops.value<CLI::no_stl> ()),
detach (ops.value<CLI::generate_detach> ()),
diff --git a/xsde/cxx/hybrid/tree-source.cxx b/xsde/cxx/hybrid/tree-source.cxx
index 33995c5..78af09e 100644
--- a/xsde/cxx/hybrid/tree-source.cxx
+++ b/xsde/cxx/hybrid/tree-source.cxx
@@ -642,7 +642,7 @@ namespace CXX
: Context (c),
var_ (c, TypeName::var_value),
ro_ret_ (c, TypeName::ro_ret),
- literal_value_ (c),
+ literal_value_ (c, !stl),
init_value_ (c)
{
}
diff --git a/xsde/cxx/hybrid/tree-type-map.cxx b/xsde/cxx/hybrid/tree-type-map.cxx
index cf36ce2..c745f05 100644
--- a/xsde/cxx/hybrid/tree-type-map.cxx
+++ b/xsde/cxx/hybrid/tree-type-map.cxx
@@ -41,6 +41,7 @@ namespace CXX
ops.value<CLI::include_regex_trace> (),
ops.value<CLI::generate_inline> (),
ops.value<CLI::custom_allocator> (),
+ !ops.value<CLI::no_long_long> (),
ops.value<CLI::reserved_name> ())
{
}