diff --git a/LSFramework/LSFramework.vcxproj b/LSFramework/LSFramework.vcxproj index 9da70c8..70660bc 100644 --- a/LSFramework/LSFramework.vcxproj +++ b/LSFramework/LSFramework.vcxproj @@ -23,33 +23,33 @@ {5FE98B77-3558-4384-BDAF-82AC8B69B752} Win32Proj String - 10.0.19041.0 + 10.0 LSFramework Application true - v141 + v142 Unicode Application false - v141 + v142 true Unicode Application true - v141 + v142 Unicode Application false - v141 + v142 true Unicode diff --git a/LSFramework/LSMacros.h b/LSFramework/LSMacros.h index ce607ec..0decba7 100644 --- a/LSFramework/LSMacros.h +++ b/LSFramework/LSMacros.h @@ -1,15 +1,15 @@ #pragma once -#define DELETE_POINTER(Pointer) \ -if (Pointer != nullptr)\ +#define DELETE_POINTER(pPointer) \ +if (pPointer != nullptr)\ {\ - delete Pointer;\ - Pointer = nullptr;\ + delete pPointer;\ + pPointer = nullptr;\ } -#define DELETE_ARRAY(Array) \ -if (Array != nullptr)\ +#define DELETE_ARRAY(vArray) \ +if (vArray != nullptr)\ {\ - delete[] Array;\ - Array = nullptr;\ + delete[] vArray;\ + vArray = nullptr;\ } \ No newline at end of file diff --git a/LSFramework/LSVector.h b/LSFramework/LSVector.h index 1e00e06..31a297a 100644 --- a/LSFramework/LSVector.h +++ b/LSFramework/LSVector.h @@ -1,17 +1,92 @@ #pragma once +#include +#include "LSMacros.h" template class LSVector { - LSVector() +public: + LSVector(size_t zSize = 1) { - + m_pData = new T[zSize]; + m_zCapacity = zSize; } ~LSVector() { } -}; + T& PushBack(T obj) + { + } + + T& PopBack() + { + } + + T& Insert(const size_t zPos) + { + + } + + T& Remove(const size_t zPos) + { + + } + + T& At(const size_t zPos) + { + return m_pData[zPos]; + } + + void Reserve(const size_t zSize) + { + T* pOld = m_pData; + m_pData = new T[zSize]; + + memmove_s(m_pData, zSize, pOld, m_zSize); + m_zSize = zSize; + m_zCapacity = zSize; + + DELETE_ARRAY(pOld); + } + + void Clear() + { + DELETE_ARRAY(m_pData) + } + + size_t Size() const + { + return m_zSize; + } + + size_t Capacity() const + { + return m_zCapacity; + } + + T* Data() const + { + return m_pData; + } + + LSVector& operator=(const LSVector oRhs) + { + + } + + LSVector& operator[](const size_t _Pos) + { + + } + +private: + + std::vector s; + T* m_pData = nullptr; + size_t m_zSize = 0; + size_t m_zCapacity = 0; +}; \ No newline at end of file