Commit 0e0be2e4 authored by Martin Marinov's avatar Martin Marinov Committed by GitHub Enterprise

Fix Linux build errors (#7)

parent f90c9415
......@@ -44,7 +44,7 @@ target_include_directories(${output_lib} PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/.."
set_target_properties(${output_lib} PROPERTIES CXX_VISIBILITY_PRESET hidden)
set_target_properties(${output_lib} PROPERTIES C_VISIBILITY_PRESET hidden)
set_target_properties(${output_lib} PROPERTIES C_STANDARD 99)
set_target_properties(${output_lib} PROPERTIES CXX_STANDARD 11)
set_target_properties(${output_lib} PROPERTIES CXX_STANDARD 14)
set_target_properties(${output_lib} PROPERTIES POSITION_INDEPENDENT_CODE ON)
if (MSVC)
......
......@@ -362,7 +362,7 @@ template <typename T, ArgQ Q> struct ArgT
{
using Type = T;
constexpr ArgQ quality() { return Q; }
constexpr static ArgQ quality() { return Q; }
typedef ArgT<T, Q> Self;
T& vrbl;
......@@ -374,9 +374,9 @@ template <typename T, ArgQ Q> struct ArgT
template <typename T> auto argument(T& _vrbl, const char* const _name)
{
using Arg =
using Arg = typename
std::conditional<std::is_pointer<T>::value, ArgT<T, ArgQ::POINTER>,
std::conditional<std::is_reference<T>::value,
typename std::conditional<std::is_reference<T>::value,
ArgT<T, ArgQ::REFERENCE>, ArgT<T, ArgQ::VALUE>>::type>::type;
return Arg(_vrbl, _name);
}
......@@ -397,7 +397,7 @@ protected:
ArgSetT(const Arg& _arg) : Arg(_arg) {}
template <typename ValueT> void assign(ValueT _val) { vrbl = _val; }
template <typename ValueT> void assign(ValueT _val) { Arg::vrbl = _val; }
void init() { assign(nullptr); }
......@@ -473,7 +473,7 @@ template <typename T, ArgQ Q> struct ArgLinkT : public ArgSetT<T, Q>
~ArgLinkT()
{
if (mode == LinkMode::AUTO)
make_link(link.name);
ArgSet::make_link(link.name);
}
};
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment