bytestring Class Reference

## Static Public Member Functions

static void * | duplicate (const void *src, size_t size)
static void * | copy (void *dest, const void *src, size_t size)
static void * | copyWithOverlap (void *dest, const void *src, size_t size)
static void * | copyUntil (void *dest, const void *src, unsigned char character, size_t size)
static void * | copySwapBytes (void *dest, const void *src, size_t size)
static void * | set (void *dest, unsigned char character, size_t size)
static void * | zero (void *dest, size_t size)
static int32_t | compare (const void *s1, const void *s2, size_t size)
static void * | findFirst (void *haystack, unsigned char needle, size_t size)
static void * | findLast (void *haystack, unsigned char needle, size_t size)
static void * | findFirst (void *haystack, size_t haystacksize, const void *needle, size_t needleize)
static void * | findLast (void *haystack, size_t haystacksize, const void *needle, size_t needleize)
static const void * | findFirst (const void *haystack, unsigned char needle, size_t size)
static const void * | findLast (const void *haystack, unsigned char needle, size_t size)
static const void * | findFirst (const void *haystack, size_t haystacksize, const void *needle, size_t needlesize)
static const void * | findLast (const void *haystack, size_t haystacksize, const void *needle, size_t needlesize)

## Detailed Description

The bytestring class provides methods for manipulating byte strings.

In addition to some unique methods, analogs for the standard C "memory" functions are provided. However, unlike the standard C functions, the bytestring methods are NULL safe. Your application will not crash if a NULL is passed in, and instead, will give intuitive results.

## Member Function Documentation

## compare()

static int32_t bytestring::compare | ( | const void * | s1,
|  | const void * | s2,
|  | size_t | size
| ) |  |

static

Returns an integer less than, equal to or greater than 0 if "size" bytes of "s1" are less than, equal to or greater than "size" bytes of "s2".

## copy()

static void* bytestring::copy | ( | void * | dest,
|  | const void * | src,
|  | size_t | size
| ) |  |

static

Copies "size" bytes from "src" into "dest". "src" and "dest" may NOT overlap. Returns a pointer to "dest".

## copySwapBytes()

static void* bytestring::copySwapBytes | ( | void * | dest,
|  | const void * | src,
|  | size_t | size
| ) |  |

static

Copies "size" bytes from "src" into "dest" while swapping byte order. Useful for exchanging data between big and little endian machines. "src" and "dest" may NOT overlap. Returns a pointer to "dest".

## copyUntil()

static void* bytestring::copyUntil | ( | void * | dest,
|  | const void * | src,
|  | unsigned char | character,
|  | size_t | size
| ) |  |

static

Copies bytes from "src" into "dest" until "character" is encountered in "src" or "size" bytes have been copied. "src" and "dest" may NOT overlap. Returns a pointer to "dest".

## copyWithOverlap()

static void* bytestring::copyWithOverlap | ( | void * | dest,
|  | const void * | src,
|  | size_t | size
| ) |  |

static

Copies "size" bytes from "src" to "dest". "src" and "dest" may overlap. Returns a pointer to "dest".

## duplicate()

static void* bytestring::duplicate | ( | const void * | src,
|  | size_t | size
| ) |  |

static

Allocates a buffer of "size" bytes, copies "size" bytes of "src" into it and returns the buffer.

## findFirst() [1/4]

static const void* bytestring::findFirst | ( | const void * | haystack,
|  | size_t | haystacksize,
|  | const void * | needle,
|  | size_t | needlesize
| ) |  |

static

Returns a pointer to the first occurrance of "needle" in the first "size" bytes of "haystack". Returns NULL if no match is found.

## findFirst() [2/4]

static const void* bytestring::findFirst | ( | const void * | haystack,
|  | unsigned char | needle,
|  | size_t | size
| ) |  |

static

Returns a pointer to the first occurrance of "needle" in the first "size" bytes of "haystack". Returns NULL if no match is found.

## findFirst() [3/4]

static void* bytestring::findFirst | ( | void * | haystack,
|  | size_t | haystacksize,
|  | const void * | needle,
|  | size_t | needleize
| ) |  |

static

Returns a pointer to the first occurrance of "needle" in the first "size" bytes of "haystack". Returns NULL if no match is found.

## findFirst() [4/4]

static void* bytestring::findFirst | ( | void * | haystack,
|  | unsigned char | needle,
|  | size_t | size
| ) |  |

static

Returns a pointer to the first occurrance of "needle" in the first "size" bytes of "haystack". Returns NULL if no match is found.

## findLast() [1/4]

static const void* bytestring::findLast | ( | const void * | haystack,
|  | size_t | haystacksize,
|  | const void * | needle,
|  | size_t | needlesize
| ) |  |

static

Returns a pointer to the last occurrance of "needle" in the first "size" bytes of "haystack". Returns NULL if no match is found.

## findLast() [2/4]

static const void* bytestring::findLast | ( | const void * | haystack,
|  | unsigned char | needle,
|  | size_t | size
| ) |  |

static

Returns a pointer to the last occurrance of "needle" in the first "size" bytes of "haystack". Returns NULL if no match is found.

## findLast() [3/4]

static void* bytestring::findLast | ( | void * | haystack,
|  | size_t | haystacksize,
|  | const void * | needle,
|  | size_t | needleize
| ) |  |

static

Returns a pointer to the last occurrance of "needle" in the first "size" bytes of "haystack". Returns NULL if no match is found.

## findLast() [4/4]

static void* bytestring::findLast | ( | void * | haystack,
|  | unsigned char | needle,
|  | size_t | size
| ) |  |

static

Returns a pointer to the last occurrance of "needle" in the first "size" bytes of "haystack". Returns NULL if no match is found.

## set()

static void* bytestring::set | ( | void * | dest,
|  | unsigned char | character,
|  | size_t | size
| ) |  |

static

Sets "size" bytes of "dest" to "character". Returns a pointer to "dest".

## zero()

static void* bytestring::zero | ( | void * | dest,
|  | size_t | size
| ) |  |

static

Sets "size" bytes of "dest" to NULL. Returns a pointer to "dest".