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:
@@ -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_; }
|
||||
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user