Discussion:
Xalan - Std C++17 Discussion
s***@e-z.net
2018-09-19 02:59:29 UTC
Permalink
This discussion provides an insight into library maintenance issues
associated with Standard C++17; especially with third-party libraries that
require backwards compatibility with both old and new software development
platforms.

What is the best way to provide backwards compatible <functional> STL
templates for std::binary_function and std::unary function? The Xalan
code base has numerous functions based on the std::unary_function and
std::binary_function templates.

There is a need to retain a backward compatible implementation, even as
Standard C++17 removes these <functional> templates.

Standard C++11 deprecates these <functional> core definitions.

Standard C++17 removes these <functional> core definitions.

There is a need for some developers to maintain Standard C++98 compatibility.

Microsoft Visual Studio 2017 supports Standard C++17.

The deprecated std::auto_ptr is not used in Xalan. Similar template
classes are used internally to provide related functionality (XalanAutoPtr
and XalanMemMgrAutoPtr).

The standard functors (before C++11) have their argument classes (or
traits) propogated by inheriting these standard structs. The functor
classes define an operator() method. The unary_function and
binary_function provide a wrapper mechanism by which standard functions
can be made compatible with many classes. The new paradigm is to take
advantage of traits, unknown to the earlier C++ standards.

template<typename _Arg, typename _Result>
struct unary_function
{
typedef _Arg argument_type;
typedef _Result result_type;
};

template<typename _Arg1, typename _Arg2, typename _Result>
struct binary_function
{
typedef _Arg1 first_argument_type;
typedef _Arg2 second_argument_type;
typedef _Result result_type;
};

The keyword typename is synonymous to the overloaded keyword class. The
use of the keyword typename for templates is newer than the use of class,
both serving the same purpose.

The software build problem is to perform some pre-build tests to establish
the existence or absence of the std::unary_function and
std::binary_function so that proper insertion of backward-compatible
definitions can be inserted as needed into the std:: namespace. Or rework
the code to supply an application replacement for the depricated or
removed wrapper structs.

Sincerely,
Steven J. Hathaway



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-***@xalan.apache.org
For additional commands, e-mail: dev-***@xalan.apache.org
Roger Leigh
2018-09-19 09:27:47 UTC
Permalink
Post by s***@e-z.net
This discussion provides an insight into library maintenance issues
associated with Standard C++17; especially with third-party libraries that
require backwards compatibility with both old and new software development
platforms.
What is the best way to provide backwards compatible <functional> STL
templates for std::binary_function and std::unary function? The Xalan
code base has numerous functions based on the std::unary_function and
std::binary_function templates.
Dear Steven,

There's a simple solution here, which is that to be fully backward
compatible, you simply remove their use. There is zero need for them
even with C++98; they provide zero functionality. The operator()
provided by the functors completely defines the return type and argument
type(s). The unary_function and binary_function base class has zero
additional benefit, making it completely safe to drop.

Please see these commits:

https://github.com/rleigh-codelibre/xalan-c/commit/62714f6be22ec524aec6548c5368e9f422728ddf
https://github.com/rleigh-codelibre/xalan-c/commit/c05f53f74af60b034e7f7f80863c4098fa1d7f2a
https://github.com/rleigh-codelibre/xalan-c/commit/35465af52a020c2135d9b434428b254feddf34ea

From this branch:
https://github.com/rleigh-codelibre/xalan-c/commits/cmake-build

62714f6 - cleans up some pre-Standard preprocessor stuff
c05f53f - drops all use of unary_function and binary_function
35465af - additional cleanup of result_type and argument_type (retained
in the previous commit for strict API compatibility)

All these changes should be compatible with C++98 through to C++17.


Regards,
Roger

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-***@xalan.apache.org
For additional commands, e-mail: dev-***@xalan.apache.org
Roger Leigh
2018-10-26 09:09:27 UTC
Permalink
Post by Roger Leigh
Post by s***@e-z.net
This discussion provides an insight into library maintenance issues
associated with Standard C++17; especially with third-party libraries that
require backwards compatibility with both old and new software development
platforms.
What is the best way to provide backwards compatible <functional> STL
templates for std::binary_function and std::unary function?  The Xalan
code base has numerous functions based on the std::unary_function and
std::binary_function templates.
Dear Steven,
There's a simple solution here, which is that to be fully backward
compatible, you simply remove their use.  There is zero need for them
even with C++98; they provide zero functionality.  The operator()
provided by the functors completely defines the return type and argument
type(s).  The unary_function and binary_function base class has zero
additional benefit, making it completely safe to drop.
https://github.com/rleigh-codelibre/xalan-c/commit/62714f6be22ec524aec6548c5368e9f422728ddf
https://github.com/rleigh-codelibre/xalan-c/commit/c05f53f74af60b034e7f7f80863c4098fa1d7f2a
https://github.com/rleigh-codelibre/xalan-c/commit/35465af52a020c2135d9b434428b254feddf34ea
https://github.com/rleigh-codelibre/xalan-c/commits/cmake-build
62714f6 - cleans up some pre-Standard preprocessor stuff
c05f53f - drops all use of unary_function and binary_function
35465af - additional cleanup of result_type and argument_type (retained
in the previous commit for strict API compatibility)
All these changes should be compatible with C++98 through to C++17.
I'm now running into the compatibility issues myself (see below).
VS2017 with -std:c++17 simply won't work due to the removal of
unary_function and binary_function.

Would it be possible to apply the above patches?


Regards,
Roger


C:\PROGRA~2\MICROS~1\2017\COMMUN~1\VC\Tools\MSVC\1415~1.267\bin\Hostx64\x64\cl.exe
/nologo /TP -ID:\vcpkg-vs2015\installed\x64-windows\include /DWIN32
/D_WINDOWS /W3 /GR /EHsc /bigobj /W3 -DXALAN_LINK /MDd /Zi /Ob0 /Od
/RTC1 -std:c++17 /showIncludes
/FoCMakeFiles\cmTC_131b3.dir\src.cxx.obj /FdCMakeFiles\cmTC_131b3.dir\
/FS -c src.cxx
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/XalanMap.hpp(49):
error C2143: syntax error: missing ',' before '<'
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/XalanMap.hpp(65):
note: see reference to class template instantiation
'xalanc_1_11::XalanHasher<Key>' being compiled
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(103):
error C2143: syntax error: missing ',' before '<'
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(134):
note: see reference to class template instantiation
'xalanc_1_11::DeleteFunctor<Type>' being compiled
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(109):
error C2143: syntax error: missing ';' before '<'
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(109):
error C4430: missing type specifier - int assumed. Note: C++ does not
support default-int
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(109):
error C2238: unexpected token(s) preceding ';'
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(112):
error C2653: 'BaseClassType': is not a class or namespace name
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(112):
error C3646: 'result_type': unknown override specifier
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(112):
error C4430: missing type specifier - int assumed. Note: C++ does not
support default-int
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(113):
error C2653: 'BaseClassType': is not a class or namespace name
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(113):
error C3646: 'argument_type': unknown override specifier
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(113):
error C4430: missing type specifier - int assumed. Note: C++ does not
support default-int
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(148):
error C2143: syntax error: missing ',' before '<'
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(173):
note: see reference to class template instantiation
'xalanc_1_11::select1st<PairType>' being compiled
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(148):
error C2518: keyword 'typename' illegal in base class list; ignored
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(154):
error C2143: syntax error: missing ';' before '<'
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(154):
error C4430: missing type specifier - int assumed. Note: C++ does not
support default-int
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(154):
error C2238: unexpected token(s) preceding ';'
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(157):
error C2653: 'BaseClassType': is not a class or namespace name
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(157):
error C3646: 'result_type': unknown override specifier
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(157):
error C4430: missing type specifier - int assumed. Note: C++ does not
support default-int
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(158):
error C2653: 'BaseClassType': is not a class or namespace name
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(158):
error C3646: 'argument_type': unknown override specifier
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(158):
error C4430: missing type specifier - int assumed. Note: C++ does not
support default-int
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(185):
error C2143: syntax error: missing ',' before '<'
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(210):
note: see reference to class template instantiation
'xalanc_1_11::select2nd<PairType>' being compiled
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(185):
error C2518: keyword 'typename' illegal in base class list; ignored
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(191):
error C2143: syntax error: missing ';' before '<'
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(191):
error C4430: missing type specifier - int assumed. Note: C++ does not
support default-int
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(191):
error C2238: unexpected token(s) preceding ';'
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(194):
error C2653: 'BaseClassType': is not a class or namespace name
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(194):
error C3646: 'result_type': unknown override specifier
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(194):
error C4430: missing type specifier - int assumed. Note: C++ does not
support default-int
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(195):
error C2653: 'BaseClassType': is not a class or namespace name
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(195):
error C3646: 'argument_type': unknown override specifier
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(195):
error C4430: missing type specifier - int assumed. Note: C++ does not
support default-int
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(223):
error C2143: syntax error: missing ',' before '<'
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(248):
note: see reference to class template instantiation
'xalanc_1_11::ClearFunctor<Type>' being compiled
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(229):
error C2143: syntax error: missing ';' before '<'
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(229):
error C4430: missing type specifier - int assumed. Note: C++ does not
support default-int
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(229):
error C2238: unexpected token(s) preceding ';'
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(232):
error C2653: 'BaseClassType': is not a class or namespace name
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(232):
error C3646: 'result_type': unknown override specifier
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(232):
error C4430: missing type specifier - int assumed. Note: C++ does not
support default-int
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(233):
error C2653: 'BaseClassType': is not a class or namespace name
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(233):
error C3646: 'argument_type': unknown override specifier
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(233):
error C4430: missing type specifier - int assumed. Note: C++ does not
support default-int
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(259):
error C2143: syntax error: missing ',' before '<'
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(291):
note: see reference to class template instantiation
'xalanc_1_11::MapValueDeleteFunctor<T>' being compiled
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(259):
error C2518: keyword 'typename' illegal in base class list; ignored
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(265):
error C2143: syntax error: missing ';' before '<'
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(265):
error C4430: missing type specifier - int assumed. Note: C++ does not
support default-int
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(265):
error C2238: unexpected token(s) preceding ';'
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(268):
error C2653: 'BaseClassType': is not a class or namespace name
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(268):
error C3646: 'result_type': unknown override specifier
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(268):
error C4430: missing type specifier - int assumed. Note: C++ does not
support default-int
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(269):
error C2653: 'BaseClassType': is not a class or namespace name
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(269):
error C3646: 'argument_type': unknown override specifier
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(269):
error C4430: missing type specifier - int assumed. Note: C++ does not
support default-int
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(317):
error C2143: syntax error: missing ',' before '<'
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(358):
note: see reference to class template instantiation
'xalanc_1_11::less_null_terminated_arrays<T>' being compiled
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(323):
error C2143: syntax error: missing ';' before '<'
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(323):
error C4430: missing type specifier - int assumed. Note: C++ does not
support default-int
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(323):
error C2238: unexpected token(s) preceding ';'
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(326):
error C2653: 'BaseClassType': is not a class or namespace name
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(326):
error C3646: 'result_type': unknown override specifier
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(326):
error C4430: missing type specifier - int assumed. Note: C++ does not
support default-int
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(327):
error C2653: 'BaseClassType': is not a class or namespace name
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(327):
error C3646: 'first_argument_type': unknown override specifier
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(327):
error C4430: missing type specifier - int assumed. Note: C++ does not
support default-int
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(328):
error C2653: 'BaseClassType': is not a class or namespace name
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(328):
error C3646: 'second_argument_type': unknown override specifier
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(328):
error C4430: missing type specifier - int assumed. Note: C++ does not
support default-int
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(363):
error C2143: syntax error: missing ',' before '<'
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(405):
note: see reference to class template instantiation
'xalanc_1_11::equal_null_terminated_arrays<T>' being compiled
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(365):
error C2143: syntax error: missing ';' before '<'
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(365):
error C4430: missing type specifier - int assumed. Note: C++ does not
support default-int
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(365):
error C2238: unexpected token(s) preceding ';'
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(367):
error C2653: 'BaseClassType': is not a class or namespace name
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(367):
error C3646: 'result_type': unknown override specifier
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(367):
error C4430: missing type specifier - int assumed. Note: C++ does not
support default-int
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(368):
error C2653: 'BaseClassType': is not a class or namespace name
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(368):
error C3646: 'first_argument_type': unknown override specifier
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(368):
error C4430: missing type specifier - int assumed. Note: C++ does not
support default-int
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(369):
error C2653: 'BaseClassType': is not a class or namespace name
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(369):
error C3646: 'second_argument_type': unknown override specifier
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(369):
error C4430: missing type specifier - int assumed. Note: C++ does not
support default-int
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(421):
error C2143: syntax error: missing ',' before '<'
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(448):
note: see reference to class template instantiation
'xalanc_1_11::hash_non_terminated_array<T>' being compiled
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(423):
error C2143: syntax error: missing ';' before '<'
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(423):
error C4430: missing type specifier - int assumed. Note: C++ does not
support default-int
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(423):
error C2238: unexpected token(s) preceding ';'
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(425):
error C2653: 'BaseClassType': is not a class or namespace name
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(425):
error C3646: 'result_type': unknown override specifier
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(425):
error C4430: missing type specifier - int assumed. Note: C++ does not
support default-int
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(426):
error C2653: 'BaseClassType': is not a class or namespace name
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(426):
error C3646: 'argument_type': unknown override specifier
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(426):
error C4430: missing type specifier - int assumed. Note: C++ does not
support default-int
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(453):
error C2143: syntax error: missing ',' before '<'
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(476):
note: see reference to class template instantiation
'xalanc_1_11::hash_null_terminated_array<T>' being compiled
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(455):
error C2143: syntax error: missing ';' before '<'
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(455):
error C4430: missing type specifier - int assumed. Note: C++ does not
support default-int
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(455):
error C2238: unexpected token(s) preceding ';'
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(457):
error C2653: 'BaseClassType': is not a class or namespace name
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(457):
error C3646: 'result_type': unknown override specifier
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(457):
error C4430: missing type specifier - int assumed. Note: C++ does not
support default-int
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(458):
error C2653: 'BaseClassType': is not a class or namespace name
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(458):
error C3646: 'argument_type': unknown override specifier
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(458):
error C4430: missing type specifier - int assumed. Note: C++ does not
support default-int
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(576):
error C2143: syntax error: missing ',' before '<'
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(598):
note: see reference to class template instantiation
'xalanc_1_11::pointer_equals<T>' being compiled
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(582):
error C2143: syntax error: missing ';' before '<'
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(582):
error C4430: missing type specifier - int assumed. Note: C++ does not
support default-int
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(582):
error C2238: unexpected token(s) preceding ';'
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(585):
error C2653: 'BaseClassType': is not a class or namespace name
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(585):
error C3646: 'result_type': unknown override specifier
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(585):
error C4430: missing type specifier - int assumed. Note: C++ does not
support default-int
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(586):
error C2653: 'BaseClassType': is not a class or namespace name
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(586):
error C3646: 'first_argument_type': unknown override specifier
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(586):
error C4430: missing type specifier - int assumed. Note: C++ does not
support default-int
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(587):
error C2653: 'BaseClassType': is not a class or namespace name
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(587):
error C3646: 'second_argument_type': unknown override specifier
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(587):
error C4430: missing type specifier - int assumed. Note: C++ does not
support default-int
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(606):
error C2143: syntax error: missing ',' before '<'
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(635):
note: see reference to class template instantiation
'xalanc_1_11::pointer_equals_predicate<T>' being compiled
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(612):
error C2143: syntax error: missing ';' before '<'
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(612):
error C4430: missing type specifier - int assumed. Note: C++ does not
support default-int
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(612):
error C2238: unexpected token(s) preceding ';'
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(615):
error C2653: 'BaseClassType': is not a class or namespace name
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(615):
error C3646: 'result_type': unknown override specifier
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(615):
error C4430: missing type specifier - int assumed. Note: C++ does not
support default-int
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(616):
error C2653: 'BaseClassType': is not a class or namespace name
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(616):
error C3646: 'argument_type': unknown override specifier
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(616):
error C4430: missing type specifier - int assumed. Note: C++ does not
support default-int
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(643):
error C2143: syntax error: missing ',' before '<'
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(669):
note: see reference to class template instantiation
'xalanc_1_11::pointer_less<T>' being compiled
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(649):
error C2143: syntax error: missing ';' before '<'
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(649):
error C4430: missing type specifier - int assumed. Note: C++ does not
support default-int
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(649):
error C2238: unexpected token(s) preceding ';'
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(652):
error C2653: 'BaseClassType': is not a class or namespace name
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(652):
error C3646: 'result_type': unknown override specifier
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(652):
error C4430: missing type specifier - int assumed. Note: C++ does not
support default-int
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(653):
error C2653: 'BaseClassType': is not a class or namespace name
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(653):
error C3646: 'first_argument_type': unknown override specifier
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(653):
error C4430: missing type specifier - int assumed. Note: C++ does not
support default-int
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(654):
error C2653: 'BaseClassType': is not a class or namespace name
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(654):
error C3646: 'second_argument_type': unknown override specifier
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(654):
error C4430: missing type specifier - int assumed. Note: C++ does not
support default-int
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(674):
error C2143: syntax error: missing ',' before '<'
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(690):
note: see reference to class template instantiation
'xalanc_1_11::pointer_equal<T>' being compiled
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(676):
error C2143: syntax error: missing ';' before '<'
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(676):
error C4430: missing type specifier - int assumed. Note: C++ does not
support default-int
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(676):
error C2238: unexpected token(s) preceding ';'
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(678):
error C2653: 'BaseClassType': is not a class or namespace name
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(678):
error C3646: 'result_type': unknown override specifier
D:\vcpkg-vs2015\installed\x64-windows\include\xalanc/Include/STLHelper.hpp(678):
fatal error C1003: error count exceeds 100; stopping compilation
ninja: build stopped: subcommand failed.

Return value: 1
Source file was:
#include <xercesc/util/PlatformUtils.hpp>
#include <xalanc/XalanTransformer/XalanTransformer.hpp>

int main()
{
xercesc::XMLPlatformUtils::Initialize();
xalanc::XalanTransformer::initialize();
xalanc::XalanTransformer::terminate();
xercesc::XMLPlatformUtils::Terminate();
}


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-***@xalan.apache.org
For additional commands, e-mail: dev-***@xalan.apache.org

Loading...