gdb: move RequireLongest to gdbsupport/traits.h

Move it out of defs.h.

Change-Id: Ie1743d41a57f81667650048563e66073c72230cf
Approved-By: John Baldwin <jhb@FreeBSD.org>
This commit is contained in:
Simon Marchi 2024-04-22 16:10:15 -04:00 committed by Simon Marchi
parent ec45252592
commit 6e7c49c2dd
4 changed files with 7 additions and 4 deletions

View File

@ -63,10 +63,6 @@
#include "gdbsupport/enum-flags.h"
#include "gdbsupport/array-view.h"
template<typename T>
using RequireLongest = gdb::Requires<gdb::Or<std::is_same<T, LONGEST>,
std::is_same<T, ULONGEST>>>;
/* Just in case they're not defined in stdio.h. */
#ifndef SEEK_SET

View File

@ -18,6 +18,8 @@
#ifndef GDB_EXTRACT_STORE_INTEGER_H
#define GDB_EXTRACT_STORE_INTEGER_H
#include "gdbsupport/traits.h"
template<typename T, typename = RequireLongest<T>>
T extract_integer (gdb::array_view<const gdb_byte>, enum bfd_endian byte_order);

View File

@ -23,6 +23,7 @@
#include "gdbsupport/array-view.h"
#include "gdbsupport/common-regcache.h"
#include "gdbsupport/function-view.h"
#include "gdbsupport/traits.h"
struct regcache;
struct regset;

View File

@ -143,4 +143,8 @@ template<typename Condition>
using Requires = typename std::enable_if<Condition::value, void>::type;
}
template<typename T>
using RequireLongest = gdb::Requires<gdb::Or<std::is_same<T, LONGEST>,
std::is_same<T, ULONGEST>>>;
#endif /* COMMON_TRAITS_H */