all: more assorted cleanups

This commit is contained in:
Markus F.X.J. Oberhumer
2023-01-29 11:39:57 +01:00
parent 340b7614e2
commit 5056215a1f
21 changed files with 107 additions and 65 deletions
+1 -1
View File
@@ -42,7 +42,7 @@
#ifndef XSPAN_CONFIG_ENABLE_IMPLICIT_CONVERSION
#define XSPAN_CONFIG_ENABLE_IMPLICIT_CONVERSION 0
#endif
// allow automatic conversion PtrOrSpanOrNull => PtrOrSpan => Span (with runtime checks)
// allow automatic conversion PtrOrSpanOrNull => PtrOrSpan => Span (with run-time checks)
// choose between compile-time safety vs. possible run-time errors
#ifndef XSPAN_CONFIG_ENABLE_SPAN_CONVERSION
#define XSPAN_CONFIG_ENABLE_SPAN_CONVERSION 1
+3 -1
View File
@@ -200,7 +200,9 @@ template <class T>
inline typename Ptr<T>::pointer raw_index_bytes(const Ptr<T> &a, size_t index,
size_t size_in_bytes) {
typedef typename Ptr<T>::element_type element_type;
return raw_bytes(a, mem_size(sizeof(element_type), index, size_in_bytes)) + index;
if very_unlikely (a.raw_ptr() == nullptr)
throwInternalError("raw_index_bytes unexpected NULL ptr");
return a.raw_bytes(mem_size(sizeof(element_type), index, size_in_bytes)) + index;
}
/*************************************************************************
+3 -1
View File
@@ -100,7 +100,9 @@ template <class T>
inline typename PtrOrSpanOrNull<T>::pointer raw_index_bytes(const PtrOrSpanOrNull<T> &a,
size_t index, size_t size_in_bytes) {
typedef typename PtrOrSpanOrNull<T>::element_type element_type;
return raw_bytes(a, mem_size(sizeof(element_type), index, size_in_bytes)) + index;
if very_unlikely (a.raw_ptr() == nullptr)
throwInternalError("raw_index_bytes unexpected NULL ptr");
return a.raw_bytes(mem_size(sizeof(element_type), index, size_in_bytes)) + index;
}
/*************************************************************************
+1 -1
View File
@@ -126,7 +126,7 @@ template <class T>
inline typename PtrOrSpan<T>::pointer raw_index_bytes(const PtrOrSpan<T> &a, size_t index,
size_t size_in_bytes) {
typedef typename PtrOrSpan<T>::element_type element_type;
return raw_bytes(a, mem_size(sizeof(element_type), index, size_in_bytes)) + index;
return a.raw_bytes(mem_size(sizeof(element_type), index, size_in_bytes)) + index;
}
/*************************************************************************
+1 -1
View File
@@ -126,7 +126,7 @@ template <class T>
inline typename Span<T>::pointer raw_index_bytes(const Span<T> &a, size_t index,
size_t size_in_bytes) {
typedef typename Span<T>::element_type element_type;
return raw_bytes(a, mem_size(sizeof(element_type), index, size_in_bytes)) + index;
return a.raw_bytes(mem_size(sizeof(element_type), index, size_in_bytes)) + index;
}
/*************************************************************************