Test
This commit is contained in:
parent
6dd93155cc
commit
6e22717a81
8 changed files with 576 additions and 0 deletions
88
LSString/LSString.h
Normal file
88
LSString/LSString.h
Normal file
|
@ -0,0 +1,88 @@
|
|||
#pragma once
|
||||
#include <string>
|
||||
|
||||
class LSString
|
||||
{
|
||||
private:
|
||||
#define DELETE_POINTER(Pointer) \
|
||||
if (Pointer != nullptr)\
|
||||
{\
|
||||
delete Pointer;\
|
||||
Pointer = nullptr;\
|
||||
}
|
||||
|
||||
#define DELETE_ARRAY(Array) \
|
||||
if (Array != nullptr)\
|
||||
{\
|
||||
delete[] Array;\
|
||||
Array = nullptr;\
|
||||
}
|
||||
|
||||
public:
|
||||
// - Constructor
|
||||
LSString() = default;
|
||||
|
||||
LSString(const char* pData);
|
||||
|
||||
LSString(const LSString& sRhs);
|
||||
|
||||
LSString(const std::string& sRhs);
|
||||
|
||||
LSString& operator=(const LSString& sRhs) = delete;
|
||||
|
||||
// - Destructor
|
||||
~LSString();
|
||||
|
||||
// - Alloc
|
||||
void Insert(const LSString& sRhs, size_t uiPos);
|
||||
|
||||
void Insert(const std::string& sRhs, size_t uiPos);
|
||||
|
||||
void Insert(const char* pData, size_t uiPos);
|
||||
|
||||
void Append(const LSString& sRhs);
|
||||
|
||||
void Append(const std::string& sRhs);
|
||||
|
||||
void Append(const char* pData);
|
||||
|
||||
bool Remove(const LSString& sRhs);
|
||||
|
||||
bool Remove(const std::string& sRhs);
|
||||
|
||||
bool Remove(const char* pData);
|
||||
|
||||
bool RemoveAt(size_t uiPos, size_t uiSize);
|
||||
|
||||
// - Utility
|
||||
size_t StringLength(const char* pData) const;
|
||||
|
||||
bool Contains(const LSString& sRhs) const;
|
||||
|
||||
bool Contains(const std::string& sRhs) const;
|
||||
|
||||
bool Contains(const char* pData) const;
|
||||
|
||||
size_t Find(const LSString& sRhs, size_t uiOffset = 0) const;
|
||||
|
||||
size_t Find(const std::string& sRhs, size_t uiOffset = 0) const;
|
||||
|
||||
size_t Find(const char* pData, size_t uiOffset = 0) const;
|
||||
|
||||
char At(size_t uiPos) const;
|
||||
|
||||
size_t Length() const;
|
||||
|
||||
std::string ToStdString() const;
|
||||
|
||||
const char* ToCChar() const;
|
||||
|
||||
private:
|
||||
|
||||
void IncreaseCapacity(size_t uiNewLength = 0);
|
||||
|
||||
char* m_pData = nullptr;
|
||||
size_t m_uiLength = 0;
|
||||
size_t m_uiCapacity = 0;
|
||||
const float c_uiCapacityIncreaseFactor = 1.5;
|
||||
};
|
Loading…
Add table
Add a link
Reference in a new issue