mirror of
https://git.libcamera.org/libcamera/libcamera.git
synced 2025-07-25 09:35:06 +03:00
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:
parent
68daa9302f
commit
b5eff18f1a
4 changed files with 11 additions and 11 deletions
|
@ -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));
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue