26#ifndef TAGLIB_BYTEVECTOR_H
27#define TAGLIB_BYTEVECTOR_H
48#ifndef DO_NOT_DOCUMENT
49 using Iterator = std::vector<char>::iterator;
50 using ConstIterator = std::vector<char>::const_iterator;
51 using ReverseIterator = std::vector<char>::reverse_iterator;
52 using ConstReverseIterator = std::vector<char>::const_reverse_iterator;
136 char at(
unsigned int index)
const;
144 int find(
const ByteVector &pattern,
unsigned int offset = 0,
int byteAlign = 1)
const;
152 int find(
char c,
unsigned int offset = 0,
int byteAlign = 1)
const;
160 int rfind(
const ByteVector &pattern,
unsigned int offset = 0,
int byteAlign = 1)
const;
170 unsigned int patternOffset = 0,
unsigned int patternLength = 0xffffffff)
const;
256 ConstIterator
end()
const;
281 ConstReverseIterator
rend()
const;
300 unsigned int toUInt(
bool mostSignificantByteFirst =
true)
const;
312 unsigned int toUInt(
unsigned int offset,
bool mostSignificantByteFirst =
true)
const;
325 unsigned int toUInt(
unsigned int offset,
unsigned int length,
326 bool mostSignificantByteFirst =
true)
const;
337 short toShort(
bool mostSignificantByteFirst =
true)
const;
348 short toShort(
unsigned int offset,
bool mostSignificantByteFirst =
true)
const;
359 unsigned short toUShort(
bool mostSignificantByteFirst =
true)
const;
370 unsigned short toUShort(
unsigned int offset,
bool mostSignificantByteFirst =
true)
const;
382 long long toLongLong(
bool mostSignificantByteFirst =
true)
const;
394 long long toLongLong(
unsigned int offset,
bool mostSignificantByteFirst =
true)
const;
406 unsigned long long toULongLong(
bool mostSignificantByteFirst =
true)
const;
418 unsigned long long toULongLong(
unsigned int offset,
bool mostSignificantByteFirst =
true)
const;
657 class ByteVectorPrivate;
659 std::unique_ptr<ByteVectorPrivate> d;
A byte vector.
Definition: tbytevector.h:46
long double toFloat80BE(size_t offset) const
void swap(ByteVector &v) noexcept
int endsWithPartialMatch(const ByteVector &pattern) const
char at(unsigned int index) const
static ByteVector fromCString(const char *s, unsigned int length=0xffffffff)
static ByteVector fromShort(short value, bool mostSignificantByteFirst=true)
ConstIterator cbegin() const
int find(char c, unsigned int offset=0, int byteAlign=1) const
long long toLongLong(unsigned int offset, bool mostSignificantByteFirst=true) const
static ByteVector fromBase64(const ByteVector &)
ByteVector & append(char c)
ConstReverseIterator rbegin() const
bool operator!=(const char *s) const
unsigned short toUShort(bool mostSignificantByteFirst=true) const
ByteVector(unsigned int size, char value=0)
int rfind(const ByteVector &pattern, unsigned int offset=0, int byteAlign=1) const
ConstIterator end() const
ByteVector & replace(const ByteVector &pattern, const ByteVector &with)
TAGLIB_EXPORT std::ostream & operator<<(std::ostream &s, const TagLib::ByteVector &v)
char & operator[](int index)
long double toFloat80LE(size_t offset) const
bool operator!=(const ByteVector &v) const
static ByteVector fromUShort(unsigned short value, bool mostSignificantByteFirst=true)
double toFloat64LE(size_t offset) const
int find(const ByteVector &pattern, unsigned int offset=0, int byteAlign=1) const
float toFloat32LE(size_t offset) const
static ByteVector fromLongLong(long long value, bool mostSignificantByteFirst=true)
static ByteVector fromFloat64LE(double value)
short toShort(unsigned int offset, bool mostSignificantByteFirst=true) const
ByteVector(const ByteVector &v)
bool endsWith(const ByteVector &pattern) const
ByteVector toBase64() const
unsigned long long toULongLong(bool mostSignificantByteFirst=true) const
ConstIterator begin() const
static ByteVector fromFloat32LE(float value)
ConstReverseIterator rend() const
ByteVector & operator=(const char *data)
bool containsAt(const ByteVector &pattern, unsigned int offset, unsigned int patternOffset=0, unsigned int patternLength=0xffffffff) const
static ByteVector fromUInt(unsigned int value, bool mostSignificantByteFirst=true)
ByteVector & resize(unsigned int size, char padding=0)
float toFloat32BE(size_t offset) const
ByteVector & replace(char oldByte, char newByte)
bool operator==(const char *s) const
bool operator<(const ByteVector &v) const
ByteVector(const char *data)
ByteVector & append(const ByteVector &v)
ByteVector & setData(const char *data)
bool startsWith(const ByteVector &pattern) const
static ByteVector fromFloat64BE(double value)
unsigned int toUInt(bool mostSignificantByteFirst=true) const
unsigned int size() const
ByteVector & operator=(const ByteVector &v)
double toFloat64BE(size_t offset) const
unsigned int toUInt(unsigned int offset, bool mostSignificantByteFirst=true) const
ByteVector operator+(const ByteVector &v) const
ByteVector & operator=(char c)
const char * data() const
unsigned long long toULongLong(unsigned int offset, bool mostSignificantByteFirst=true) const
bool operator==(const ByteVector &v) const
static ByteVector fromFloat32BE(float value)
ByteVector mid(unsigned int index, unsigned int length=0xffffffff) const
long long toLongLong(bool mostSignificantByteFirst=true) const
bool operator>(const ByteVector &v) const
unsigned int toUInt(unsigned int offset, unsigned int length, bool mostSignificantByteFirst=true) const
const char & operator[](int index) const
ByteVector(const char *data, unsigned int length)
ByteVector & setData(const char *s, unsigned int length)
ByteVector(const ByteVector &v, unsigned int offset, unsigned int length)
static ByteVector fromULongLong(unsigned long long value, bool mostSignificantByteFirst=true)
unsigned short toUShort(unsigned int offset, bool mostSignificantByteFirst=true) const
ConstIterator cend() const
short toShort(bool mostSignificantByteFirst=true) const
A namespace for all TagLib related classes and functions.
Definition: apefile.h:41
#define TAGLIB_EXPORT
Definition: taglib_export.h:40
#define TAGLIB_MSVC_SUPPRESS_WARNING_NEEDS_TO_HAVE_DLL_INTERFACE
Definition: taglib_export.h:55