libcamera: Use C++14 std::*_t type traits

C++14 introduced useful type traits helpers named std::*_t as aliases to
std::*<...>::type. Use them to simplify the code.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
This commit is contained in:
Laurent Pinchart 2020-02-16 02:10:10 +02:00
parent 68daa9302f
commit b5eff18f1a
4 changed files with 11 additions and 11 deletions

View file

@ -38,7 +38,7 @@ public:
{
}
std::tuple<typename std::remove_reference<Args>::type...> args_;
std::tuple<typename std::remove_reference_t<Args>...> args_;
R ret_;
};
@ -51,7 +51,7 @@ public:
{
}
std::tuple<typename std::remove_reference<Args>::type...> args_;
std::tuple<typename std::remove_reference_t<Args>...> args_;
};
class BoundMethodBase
@ -63,7 +63,7 @@ public:
}
virtual ~BoundMethodBase() {}
template<typename T, typename std::enable_if<!std::is_same<Object, T>::value>::type * = nullptr>
template<typename T, typename std::enable_if_t<!std::is_same<Object, T>::value> * = nullptr>
bool match(T *obj) { return obj == obj_; }
bool match(Object *object) { return object == object_; }

View file

@ -30,7 +30,7 @@ public:
void postMessage(std::unique_ptr<Message> msg);
template<typename T, typename R, typename... FuncArgs, typename... Args,
typename std::enable_if<std::is_base_of<Object, T>::value>::type * = nullptr>
typename std::enable_if_t<std::is_base_of<Object, T>::value> * = nullptr>
R invokeMethod(R (T::*func)(FuncArgs...), ConnectionType type,
Args... args)
{

View file

@ -45,7 +45,7 @@ public:
}
#ifndef __DOXYGEN__
template<typename T, typename R, typename std::enable_if<std::is_base_of<Object, T>::value>::type * = nullptr>
template<typename T, typename R, typename std::enable_if_t<std::is_base_of<Object, T>::value> * = nullptr>
void connect(T *obj, R (T::*func)(Args...),
ConnectionType type = ConnectionTypeAuto)
{
@ -53,7 +53,7 @@ public:
SignalBase::connect(new BoundMethodMember<T, void, Args...>(obj, object, func, type));
}
template<typename T, typename R, typename std::enable_if<!std::is_base_of<Object, T>::value>::type * = nullptr>
template<typename T, typename R, typename std::enable_if_t<!std::is_base_of<Object, T>::value> * = nullptr>
#else
template<typename T, typename R>
#endif

View file

@ -42,20 +42,20 @@ LOG_DEFINE_CATEGORY(IPAModule)
namespace {
template<typename T>
typename std::remove_extent<T>::type *elfPointer(void *map, off_t offset,
size_t fileSize, size_t objSize)
typename std::remove_extent_t<T> *elfPointer(void *map, off_t offset,
size_t fileSize, size_t objSize)
{
size_t size = offset + objSize;
if (size > fileSize || size < objSize)
return nullptr;
return reinterpret_cast<typename std::remove_extent<T>::type *>
return reinterpret_cast<typename std::remove_extent_t<T> *>
(static_cast<char *>(map) + offset);
}
template<typename T>
typename std::remove_extent<T>::type *elfPointer(void *map, off_t offset,
size_t fileSize)
typename std::remove_extent_t<T> *elfPointer(void *map, off_t offset,
size_t fileSize)
{
return elfPointer<T>(map, offset, fileSize, sizeof(T));
}