#pragma once #include #include #include "artery-font.h" namespace artery_font { template class StdList : private std::vector { public: inline StdList() { } inline explicit StdList(int length) : std::vector((size_t) length) { } inline int length() const { return (int) std::vector::size(); } inline explicit operator T *() { return std::vector::data(); } inline explicit operator const T *() const { return std::vector::data(); } inline T &operator[](int index) { return std::vector::operator[](index); } inline const T &operator[](int index) const { return std::vector::operator[](index); } }; class StdString : private std::string { public: inline StdString() { } inline StdString(const char *characters, int length) : std::string(characters, (size_t) length) { } inline int length() const { return (int) std::string::size(); } inline explicit operator const char *() const { return std::string::c_str(); } }; typedef StdList StdByteArray; template using StdArteryFont = ArteryFont; }