LibSWOC++ 1.5.14
Solid Wall of C++
Loading...
Searching...
No Matches
MemSpan.h File Reference
#include "swoc/swoc_version.h"
#include "swoc/Scalar.h"
#include <cstring>
#include <memory>
#include <type_traits>
#include <ratio>
#include <tuple>
#include <exception>
#include <array>
#include <vector>
#include <string_view>
Include dependency graph for MemSpan.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  swoc::MemSpan< T >
 
class  swoc::MemSpan< void const >
 
class  swoc::MemSpan< void >
 
struct  swoc::detail::is_span_compatible< T, U >
 
struct  swoc::detail::malloc_liberator
 

Namespaces

namespace  swoc
 For template deduction guides.
 

Typedefs

template<typename T>
using swoc::unique_malloc = std::unique_ptr<T, detail::malloc_liberator>
 A variant of unique_ptr that handles memory from malloc.
 

Functions

template<typename T>
int swoc::memcmp (MemSpan< T > const &lhs, MemSpan< T > const &rhs)
 
template<typename T>
T * swoc::memcpy (MemSpan< T > &dst, MemSpan< T > const &src)
 
template<typename T>
T * swoc::memcpy (MemSpan< T > &dst, T *src)
 
template<typename T>
T * swoc::memcpy (T *dst, MemSpan< T > &src)
 
char * swoc::memcpy (MemSpan< char > &span, std::string_view view)
 
void * swoc::memcpy (MemSpan< void > &span, std::string_view view)
 
template<typename T>
MemSpan< T > const & swoc::memset (MemSpan< T > const &dst, T const &value)
 
template<typename T, size_t N>
 swoc::MemSpan (std::array< T, N > &) -> MemSpan< T >
 Deduction guides.
 
template<typename T, size_t N>
 swoc::MemSpan (std::array< T, N > const &) -> MemSpan< T const >
 
template<size_t N>
 swoc::MemSpan (char(&)[N]) -> MemSpan< char >
 
template<size_t N>
 swoc::MemSpan (char const (&)[N]) -> MemSpan< char const >
 
template<typename T>
 swoc::MemSpan (std::vector< T > &) -> MemSpan< T >
 
template<typename T>
 swoc::MemSpan (std::vector< T > const &) -> MemSpan< T const >
 
 swoc::MemSpan (std::string_view const &) -> MemSpan< char const >
 
 swoc::MemSpan (std::string &) -> MemSpan< char >
 
 swoc::MemSpan (std::string const &) -> MemSpan< char const >
 

Detailed Description

Spans of writable memory. This is similar but independently developed from std::span. The goal is to provide convenient handling for chunks of memory. These chunks can be treated as arrays of arbitrary types via template methods.

Definition in file MemSpan.h.