all: CI and misc updates
This commit is contained in:
@@ -68,17 +68,17 @@ raw_index_bytes(T ptr, size_t index, size_t size_in_bytes) {
|
||||
|
||||
// same for bounded arrays
|
||||
template <class T, size_t N>
|
||||
inline T *raw_bytes(T (&a)[N], size_t size_in_bytes) {
|
||||
inline T *raw_bytes(T (&array)[N], size_t size_in_bytes) {
|
||||
typedef T element_type;
|
||||
if very_unlikely (size_in_bytes > mem_size(sizeof(element_type), N))
|
||||
throwCantPack("raw_bytes out of range");
|
||||
return a;
|
||||
return array;
|
||||
}
|
||||
|
||||
template <class T, size_t N>
|
||||
inline T *raw_index_bytes(T (&a)[N], size_t index, size_t size_in_bytes) {
|
||||
inline T *raw_index_bytes(T (&array)[N], size_t index, size_t size_in_bytes) {
|
||||
typedef T element_type;
|
||||
return raw_bytes(a, mem_size(sizeof(element_type), index, size_in_bytes)) + index;
|
||||
return raw_bytes(array, mem_size(sizeof(element_type), index, size_in_bytes)) + index;
|
||||
}
|
||||
|
||||
/* vim:set ts=4 sw=4 et: */
|
||||
|
||||
+18
-18
@@ -85,14 +85,14 @@ using XSPAN_NAMESPACE_NAME::raw_index_bytes; // overloaded for all classes
|
||||
#define XSPAN_S(type) Span<type>
|
||||
|
||||
// create a value
|
||||
#define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(first, ##__VA_ARGS__))
|
||||
#define XSPAN_P_MAKE(type, first, ...) (XSPAN_P(type)(first, ##__VA_ARGS__))
|
||||
#define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(first, ##__VA_ARGS__))
|
||||
#define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)((first), ##__VA_ARGS__))
|
||||
#define XSPAN_P_MAKE(type, first, ...) (XSPAN_P(type)((first), ##__VA_ARGS__))
|
||||
#define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)((first), ##__VA_ARGS__))
|
||||
|
||||
// define a variable
|
||||
#define XSPAN_0_VAR(type, var, first, ...) XSPAN_0(type) var(first, ##__VA_ARGS__)
|
||||
#define XSPAN_P_VAR(type, var, first, ...) XSPAN_P(type) var(first, ##__VA_ARGS__)
|
||||
#define XSPAN_S_VAR(type, var, first, ...) XSPAN_S(type) var(first, ##__VA_ARGS__)
|
||||
#define XSPAN_0_VAR(type, var, first, ...) XSPAN_0(type) var((first), ##__VA_ARGS__)
|
||||
#define XSPAN_P_VAR(type, var, first, ...) XSPAN_P(type) var((first), ##__VA_ARGS__)
|
||||
#define XSPAN_S_VAR(type, var, first, ...) XSPAN_S(type) var((first), ##__VA_ARGS__)
|
||||
|
||||
#elif WITH_XSPAN >= 1
|
||||
|
||||
@@ -103,14 +103,14 @@ using XSPAN_NAMESPACE_NAME::raw_index_bytes; // overloaded for all classes
|
||||
#define XSPAN_S(type) Ptr<type>
|
||||
|
||||
// create a value
|
||||
#define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(first))
|
||||
#define XSPAN_P_MAKE(type, first, ...) (XSPAN_P(type)(first))
|
||||
#define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(first))
|
||||
#define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)((first)))
|
||||
#define XSPAN_P_MAKE(type, first, ...) (XSPAN_P(type)((first)))
|
||||
#define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)((first)))
|
||||
|
||||
// define a variable
|
||||
#define XSPAN_0_VAR(type, var, first, ...) XSPAN_0(type) var(first)
|
||||
#define XSPAN_P_VAR(type, var, first, ...) XSPAN_P(type) var(first)
|
||||
#define XSPAN_S_VAR(type, var, first, ...) XSPAN_S(type) var(first)
|
||||
#define XSPAN_0_VAR(type, var, first, ...) XSPAN_0(type) var((first))
|
||||
#define XSPAN_P_VAR(type, var, first, ...) XSPAN_P(type) var((first))
|
||||
#define XSPAN_S_VAR(type, var, first, ...) XSPAN_S(type) var((first))
|
||||
|
||||
#else // WITH_XSPAN
|
||||
|
||||
@@ -135,14 +135,14 @@ inline R *xspan_make_helper__(R * /*dummy*/, MemBuffer &first) {
|
||||
#define XSPAN_S(type) type *
|
||||
|
||||
// create a value
|
||||
#define XSPAN_0_MAKE(type, first, ...) (xspan_make_helper__((type *) nullptr, first))
|
||||
#define XSPAN_P_MAKE(type, first, ...) (xspan_make_helper__((type *) nullptr, first))
|
||||
#define XSPAN_S_MAKE(type, first, ...) (xspan_make_helper__((type *) nullptr, first))
|
||||
#define XSPAN_0_MAKE(type, first, ...) (xspan_make_helper__((type *) nullptr, (first)))
|
||||
#define XSPAN_P_MAKE(type, first, ...) (xspan_make_helper__((type *) nullptr, (first)))
|
||||
#define XSPAN_S_MAKE(type, first, ...) (xspan_make_helper__((type *) nullptr, (first)))
|
||||
|
||||
// define a variable
|
||||
#define XSPAN_0_VAR(type, var, first, ...) type *var = XSPAN_0_MAKE(type, first)
|
||||
#define XSPAN_P_VAR(type, var, first, ...) type *var = XSPAN_P_MAKE(type, first)
|
||||
#define XSPAN_S_VAR(type, var, first, ...) type *var = XSPAN_S_MAKE(type, first)
|
||||
#define XSPAN_0_VAR(type, var, first, ...) type *var = XSPAN_0_MAKE(type, (first))
|
||||
#define XSPAN_P_VAR(type, var, first, ...) type *var = XSPAN_P_MAKE(type, (first))
|
||||
#define XSPAN_S_VAR(type, var, first, ...) type *var = XSPAN_S_MAKE(type, (first))
|
||||
|
||||
#endif // WITH_XSPAN
|
||||
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
#ifndef XSPAN_FWD_C_IS_MEMBUFFER
|
||||
template <class T, class U>
|
||||
inline typename std::enable_if<std::is_integral<U>::value, void *>::type operator+(U, const C<T> &)
|
||||
DELETED_FUNCTION;
|
||||
XSPAN_DELETED_FUNCTION;
|
||||
#endif // XSPAN_FWD_C_IS_MEMBUFFER
|
||||
|
||||
/*************************************************************************
|
||||
|
||||
Reference in New Issue
Block a user