virtmem
virtual memory library for Arduino
vptr_utils.hpp File Reference

This header file contains several overloads of common C functions that work with virtual pointers. More...

#include "config/config.h"
#include "utils.h"
#include "vptr.h"
#include <stdlib.h>
#include <string.h>

Go to the source code of this file.

Namespaces

 virtmem
 contains all code from virtmem
 

Functions

Overloads of C library functions for virtual pointers

The following functions are overloads of some common C functions for dealing with memory and strings. They accept virtual pointers or a mix of virtual and regular pointers. Please note that they are defined in the virtmem namespace like any other code from virtmem, hence, they will not "polute" the global namespace unless you want to (i.e. by using the using directive).

template<typename T1 , typename A1 , typename T2 , typename A2 >
VPtr< T1, A1 > virtmem::memcpy (VPtr< T1, A1 > dest, const VPtr< T2, A2 > src, VPtrSize size)
 
template<typename T , typename A >
VPtr< T, A > virtmem::memcpy (VPtr< T, A > dest, const void *src, VPtrSize size)
 
template<typename T , typename A >
void * virtmem::memcpy (void *dest, VPtr< T, A > src, VPtrSize size)
 
template<typename A >
VPtr< char, A > virtmem::memset (VPtr< char, A > dest, int c, VPtrSize size)
 
template<typename T , typename A >
VPtr< T, A > virtmem::memset (VPtr< T, A > dest, int c, VPtrSize size)
 
template<typename T1 , typename A1 , typename T2 , typename A2 >
int virtmem::memcmp (VPtr< T1, A1 > s1, const VPtr< T2, A2 > s2, VPtrSize n)
 
template<typename T , typename A >
int virtmem::memcmp (VPtr< T, A > s1, const void *s2, VPtrSize n)
 
template<typename T , typename A >
int virtmem::memcmp (const void *s1, const VPtr< T, A > s2, VPtrSize n)
 
template<typename A1 , typename A2 >
VPtr< char, A1 > virtmem::strncpy (VPtr< char, A1 > dest, const VPtr< const char, A2 > src, VPtrSize n)
 
template<typename A >
VPtr< char, A > virtmem::strncpy (VPtr< char, A > dest, const char *src, VPtrSize n)
 
template<typename A >
char * virtmem::strncpy (char *dest, const VPtr< const char, A > src, VPtrSize n)
 
template<typename A1 , typename A2 >
VPtr< char, A1 > virtmem::strcpy (VPtr< char, A1 > dest, const VPtr< const char, A2 > src)
 
template<typename A >
VPtr< char, A > virtmem::strcpy (VPtr< char, A > dest, const char *src)
 
template<typename A >
char * virtmem::strcpy (char *dest, const VPtr< const char, A > src)
 
template<typename A1 , typename A2 >
int virtmem::strncmp (VPtr< const char, A1 > dest, VPtr< const char, A2 > src, VPtrSize n)
 
template<typename A >
int virtmem::strncmp (VPtr< const char, A > dest, const char *src, VPtrSize n)
 
template<typename A >
int virtmem::strncmp (const char *dest, VPtr< const char, A > src, VPtrSize n)
 
template<typename A1 , typename A2 >
int virtmem::strcmp (VPtr< const char, A1 > dest, VPtr< const char, A2 > src)
 
template<typename A >
int virtmem::strcmp (const char *dest, VPtr< const char, A > src)
 
template<typename A >
int virtmem::strcmp (VPtr< const char, A > dest, const char *src)
 
template<typename A >
int virtmem::strlen (VPtr< const char, A > str)
 

Detailed Description

This header file contains several overloads of common C functions that work with virtual pointers.