diff -r cf514fa0f1cc -r 718a8c4df538 sources/list.h --- a/sources/list.h Fri Jul 22 18:03:50 2016 +0300 +++ b/sources/list.h Sat Jul 23 12:27:03 2016 +0300 @@ -270,8 +270,8 @@ Self splice(int start, int end, int step = 1) const { - start = clamp(start, 0, size() - 1); - end = clamp(end, 0, size() - 1); + start = clamp(start, 0, size()); + end = clamp(end, 0, size()); if (end <= start) { @@ -399,6 +399,23 @@ } }; -typedef Vector ByteArray; +class ByteArray : public Vector +{ +public: + ByteArray(std::initializer_list initializerList); + + template + ByteArray(Args&& ...args); + + class String quote() const; +}; + +/*! + * \brief Constructs a byte array by passing all arguments to Vector's constructor. + * \param args Arguments to pass. + */ +template +ByteArray::ByteArray(Args&& ...args) : + Vector(args...) {} END_ZFC_NAMESPACE