62 lines
1.3 KiB
C++
62 lines
1.3 KiB
C++
#ifndef NETWORK_DEPENDENCIES_OYSTER_BYTE_H
|
|
#define NETWORK_DEPENDENCIES_OYSTER_BYTE_H
|
|
|
|
/////////////////////////////////////
|
|
// Created by Pontus Fransson 2013 //
|
|
/////////////////////////////////////
|
|
|
|
#include <string.h>
|
|
|
|
namespace Oyster
|
|
{
|
|
namespace Network
|
|
{
|
|
class OysterByte
|
|
{
|
|
public:
|
|
OysterByte();
|
|
OysterByte(int cap);
|
|
OysterByte(const OysterByte& obj);
|
|
virtual ~OysterByte();
|
|
|
|
//Resets size to 0
|
|
void Clear();
|
|
|
|
//Resizes the array with, it does not keep anything in it.
|
|
void Resize(unsigned int cap);
|
|
|
|
unsigned int GetSize();
|
|
unsigned char* GetByteArray();
|
|
|
|
void AddSize(unsigned int size);
|
|
void SetBytes(unsigned char* bytes);
|
|
|
|
//Only sets the private variable 'size'
|
|
void SetSize(unsigned int size);
|
|
|
|
//Copies over a part of the addFrom array and adds it to the end of this array.
|
|
void AppendPartOfArray(OysterByte& source, unsigned int startIndex, unsigned int endIndex);
|
|
|
|
OysterByte& operator =(const OysterByte& obj);
|
|
|
|
operator char*();
|
|
operator const char*();
|
|
operator unsigned char*();
|
|
|
|
OysterByte& operator +=(const OysterByte& obj);
|
|
|
|
private:
|
|
//Expands the byteArray
|
|
void IncreaseCapacity(unsigned int cap);
|
|
|
|
|
|
private:
|
|
unsigned char* byteArray;
|
|
unsigned int size;
|
|
unsigned int capacity;
|
|
|
|
};
|
|
}
|
|
}
|
|
|
|
#endif |