aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2012-04-06 15:22:19 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2012-04-06 15:22:19 +0200
commita6f85da576d5d1fafce01bb6c3070c408adba913 (patch)
treeb400e9b423f2a17423575470acef9af0bbd31df2
parent0cb48a5a8a9cdfe9ebcfc6c3eb007774395132b5 (diff)
Fix template argument-dependant lookup errors (GCC 4.7 and Clang)
-rw-r--r--libxsd/xsd/cxx/parser/expat/elements.txx12
-rw-r--r--libxsd/xsd/cxx/parser/non-validating/parser.txx32
-rw-r--r--libxsd/xsd/cxx/parser/validating/parser.txx50
-rw-r--r--libxsd/xsd/cxx/zc-istream.txx2
4 files changed, 48 insertions, 48 deletions
diff --git a/libxsd/xsd/cxx/parser/expat/elements.txx b/libxsd/xsd/cxx/parser/expat/elements.txx
index c33f2c5..21dff58 100644
--- a/libxsd/xsd/cxx/parser/expat/elements.txx
+++ b/libxsd/xsd/cxx/parser/expat/elements.txx
@@ -594,7 +594,7 @@ namespace xsd
{
try
{
- start_element (ns, name, 0);
+ this->start_element (ns, name, 0);
}
catch (const schema_exception<C>& e)
{
@@ -621,7 +621,7 @@ namespace xsd
{
try
{
- start_element (ns, name, 0);
+ this->start_element (ns, name, 0);
}
catch (const schema_exception<C>& e)
{
@@ -693,7 +693,7 @@ namespace xsd
}
ro_string<C> ro_id (id);
- start_element (ns, name, &ro_id);
+ this->start_element (ns, name, &ro_id);
}
catch (const schema_exception<C>& e)
{
@@ -713,7 +713,7 @@ namespace xsd
try
{
- attribute (ns, name, value);
+ this->attribute (ns, name, value);
}
catch (const schema_exception<C>& e)
{
@@ -748,7 +748,7 @@ namespace xsd
try
{
- end_element (ns, name);
+ this->end_element (ns, name);
}
catch (const schema_exception<C>& e)
{
@@ -777,7 +777,7 @@ namespace xsd
try
{
- characters (str);
+ this->characters (str);
}
catch (const schema_exception<C>& e)
{
diff --git a/libxsd/xsd/cxx/parser/non-validating/parser.txx b/libxsd/xsd/cxx/parser/non-validating/parser.txx
index 3dcc7e5..329c0c9 100644
--- a/libxsd/xsd/cxx/parser/non-validating/parser.txx
+++ b/libxsd/xsd/cxx/parser/non-validating/parser.txx
@@ -164,15 +164,15 @@ namespace xsd
if (ns == xml::bits::xmlns_namespace<C> ())
return;
- if (!_attribute_impl (ns, name, value))
- _any_attribute (ns, name, value);
+ if (!this->_attribute_impl (ns, name, value))
+ this->_any_attribute (ns, name, value);
}
template <typename C>
void simple_content<C>::
_characters (const ro_string<C>& str)
{
- _characters_impl (str);
+ this->_characters_impl (str);
}
@@ -190,15 +190,15 @@ namespace xsd
if (s.depth_++ > 0)
{
if (s.any_)
- _start_any_element (ns, name, type);
+ this->_start_any_element (ns, name, type);
else if (s.parser_)
s.parser_->_start_element (ns, name, type);
}
else
{
- if (!_start_element_impl (ns, name, type))
+ if (!this->_start_element_impl (ns, name, type))
{
- _start_any_element (ns, name, type);
+ this->_start_any_element (ns, name, type);
s.any_ = true;
}
else if (s.parser_ != 0)
@@ -235,7 +235,7 @@ namespace xsd
this->_post_impl ();
- if (!_end_element_impl (ns, name))
+ if (!this->_end_element_impl (ns, name))
assert (false);
}
}
@@ -246,7 +246,7 @@ namespace xsd
if (--s.depth_ > 0)
{
if (s.any_)
- _end_any_element (ns, name);
+ this->_end_any_element (ns, name);
else if (s.parser_)
s.parser_->_end_element (ns, name);
}
@@ -255,10 +255,10 @@ namespace xsd
if (s.parser_ != 0 && !s.any_)
s.parser_->_post_impl ();
- if (!_end_element_impl (ns, name))
+ if (!this->_end_element_impl (ns, name))
{
s.any_ = false;
- _end_any_element (ns, name);
+ this->_end_any_element (ns, name);
}
}
}
@@ -292,14 +292,14 @@ namespace xsd
if (s.depth_ > 0)
{
if (s.any_)
- _any_attribute (ns, name, value);
+ this->_any_attribute (ns, name, value);
else if (s.parser_)
s.parser_->_attribute (ns, name, value);
}
else
{
- if (!_attribute_impl (ns, name, value))
- _any_attribute (ns, name, value);
+ if (!this->_attribute_impl (ns, name, value))
+ this->_any_attribute (ns, name, value);
}
}
@@ -312,14 +312,14 @@ namespace xsd
if (s.depth_ > 0)
{
if (s.any_)
- _any_characters (str);
+ this->_any_characters (str);
else if (s.parser_)
s.parser_->_characters (str);
}
else
{
- if (!_characters_impl (str))
- _any_characters (str);
+ if (!this->_characters_impl (str))
+ this->_any_characters (str);
}
}
diff --git a/libxsd/xsd/cxx/parser/validating/parser.txx b/libxsd/xsd/cxx/parser/validating/parser.txx
index 1f7a898..54a1968 100644
--- a/libxsd/xsd/cxx/parser/validating/parser.txx
+++ b/libxsd/xsd/cxx/parser/validating/parser.txx
@@ -93,8 +93,8 @@ namespace xsd
const ro_string<C>& name,
const ro_string<C>* type)
{
- if (!_start_element_impl (ns, name, type))
- _unexpected_element (ns, name);
+ if (!this->_start_element_impl (ns, name, type))
+ this->_unexpected_element (ns, name);
}
template <typename C>
@@ -102,8 +102,8 @@ namespace xsd
_end_element (const ro_string<C>& ns,
const ro_string<C>& name)
{
- if (!_end_element_impl (ns, name))
- _unexpected_element (ns, name);
+ if (!this->_end_element_impl (ns, name))
+ this->_unexpected_element (ns, name);
}
template <typename C>
@@ -129,16 +129,16 @@ namespace xsd
if (ns == xml::bits::xmlns_namespace<C> ())
return;
- if (!_attribute_impl (ns, name, value))
- _unexpected_attribute (ns, name, value);
+ if (!this->_attribute_impl (ns, name, value))
+ this->_unexpected_attribute (ns, name, value);
}
template <typename C>
void empty_content<C>::
_characters (const ro_string<C>& s)
{
- if (!_characters_impl (s))
- _unexpected_characters (s);
+ if (!this->_characters_impl (s))
+ this->_unexpected_characters (s);
}
//
@@ -218,15 +218,15 @@ namespace xsd
if (ns == xml::bits::xmlns_namespace<C> ())
return;
- if (!_attribute_impl (ns, name, value))
- _unexpected_attribute (ns, name, value);
+ if (!this->_attribute_impl (ns, name, value))
+ this->_unexpected_attribute (ns, name, value);
}
template <typename C>
void simple_content<C>::
_characters (const ro_string<C>& str)
{
- if (!_characters_impl (str))
+ if (!this->_characters_impl (str))
{
// Mixed content is implemented in the generated code
// by overriding _characters_impl and forwarding to
@@ -245,7 +245,7 @@ namespace xsd
c != C (0x0D) && // carriage return
c != C (0x09) && // tab
c != C (0x0A))
- _unexpected_characters (str);
+ this->_unexpected_characters (str);
}
}
}
@@ -322,14 +322,14 @@ namespace xsd
if (s.depth_++ > 0)
{
if (s.any_)
- _start_any_element (ns, name, type);
+ this->_start_any_element (ns, name, type);
else if (s.parser_)
s.parser_->_start_element (ns, name, type);
}
else
{
- if (!_start_element_impl (ns, name, type))
- _unexpected_element (ns, name);
+ if (!this->_start_element_impl (ns, name, type))
+ this->_unexpected_element (ns, name);
else if (s.parser_ != 0)
s.parser_->_pre_impl ();
}
@@ -364,7 +364,7 @@ namespace xsd
this->_post_impl ();
- if (!_end_element_impl (ns, name))
+ if (!this->_end_element_impl (ns, name))
assert (false);
}
}
@@ -375,7 +375,7 @@ namespace xsd
if (--s.depth_ > 0)
{
if (s.any_)
- _end_any_element (ns, name);
+ this->_end_any_element (ns, name);
else if (s.parser_)
s.parser_->_end_element (ns, name);
}
@@ -384,8 +384,8 @@ namespace xsd
if (s.parser_ != 0 && !s.any_)
s.parser_->_post_impl ();
- if (!_end_element_impl (ns, name))
- _unexpected_element (ns, name);
+ if (!this->_end_element_impl (ns, name))
+ this->_unexpected_element (ns, name);
}
}
}
@@ -418,14 +418,14 @@ namespace xsd
if (s.depth_ > 0)
{
if (s.any_)
- _any_attribute (ns, name, value);
+ this->_any_attribute (ns, name, value);
else if (s.parser_)
s.parser_->_attribute (ns, name, value);
}
else
{
- if (!_attribute_impl (ns, name, value))
- _unexpected_attribute (ns, name, value);
+ if (!this->_attribute_impl (ns, name, value))
+ this->_unexpected_attribute (ns, name, value);
}
}
@@ -438,13 +438,13 @@ namespace xsd
if (s.depth_ > 0)
{
if (s.any_)
- _any_characters (str);
+ this->_any_characters (str);
else if (s.parser_)
s.parser_->_characters (str);
}
else
{
- if (!_characters_impl (str))
+ if (!this->_characters_impl (str))
{
// Mixed content is implemented in the generated code
// by overriding _characters_impl and forwarding to
@@ -463,7 +463,7 @@ namespace xsd
c != C (0x0D) && // carriage return
c != C (0x09) && // tab
c != C (0x0A))
- _unexpected_characters (str);
+ this->_unexpected_characters (str);
}
}
}
diff --git a/libxsd/xsd/cxx/zc-istream.txx b/libxsd/xsd/cxx/zc-istream.txx
index f59e378..fdb057c 100644
--- a/libxsd/xsd/cxx/zc-istream.txx
+++ b/libxsd/xsd/cxx/zc-istream.txx
@@ -32,7 +32,7 @@ namespace xsd
C* b (const_cast<C*> (str_.data ()));
C* e (b + str_.size ());
- setg (b, b, e);
+ this->setg (b, b, e);
}
template <typename C>