Класс DataBuffer - lmovsesjan/Fastcgi-Daemon GitHub Wiki
Хранит данные и предоставляет методы работы с ними. Определен в заголовочном файле fastcgi2/data_buffer.h
.
Методы класса:
Метод | Описание |
---|---|
DataBuffer | Конструктор класса. Служит для создания пустого объекта класса или создания объекта класса с фрагментом данных из другого объекта этого же класса. |
at | Возвращает символ из буфера. |
empty | Проверяет существование буфера и данных в нём. |
size | Возвращает размер данных буфера. |
resize | Изменяет размер буфера. |
begin | Возвращает первый сегмент буфера. |
end | Возвращает конец буфера. |
trim | Усекает буфер. |
trimn | Вырезает из буфера заданный фрагмент. |
split | Делит буфер на две части. |
startsWith | Проверяет, начинается ли буфер с определенных данных. |
startsWithCI | Проверяет, начинается ли буфер с определенных данных без учета регистра. |
endsWith | Проверяет окончание буфера на соответствие определенным данным. |
endsWithCI | Проверяет окончание буфера на соответствие определенным данным без учета регистра. |
toString | Возвращает буфер в строковом представлении. |
read | Читает данные из буфера. |
write | Записывает данные в буфер. |
beginIndex | Номер первого байта в буфере. |
endIndex | Номер последнего байта. |
Конструктор класса
Служит для создания пустого объекта класса или создания объекта класса с фрагментом данных из другого объекта этого же класса.
DataBuffer();
DataBuffer(DataBuffer buffer, boost::uint64_t begin, boost::uint64_t end)
Входные параметры
Параметр | Описание |
---|---|
buffer | Буфер. |
begin | Начальная позиция фрагмента в буфере. Первый индекс 0. |
end | Конец фрагмента в байтах. |
Метод at
Возвращает символ из буфера.
char at(boost::uint64_t pos) const
Входные параметры
Параметр | Описание |
---|---|
pos | Позиция в буфере. |
Возвращаемое значение
Символ, расположенный на указанной позиции.
Метод empty
Проверяет существование буфера и данных в нём.
bool empty() const
Возвращаемое значение
true
, если буфер пустой.
Метод size
Возвращает размер данных буфера.
boost::uint64_t size() const
Возвращаемое значение
Размер данных буфера в байтах.
Метод resize
Изменяет размер буфера.
void resize(boost::uint64_t size)
Входные параметры
Параметр | Описание |
---|---|
size | Конечный размер буфера. |
Метод begin
Возвращает первый сегмент буфера.
SegmentIterator begin() const
Возвращаемое значение Объект класса SegmentIterator, указывающий на первый сегмент буфера.
Метод end
Возвращает конец буфера.
SegmentIterator end() const
Возвращаемое значение
Объект класса SegmentIterator, указывающий на конец буфера.
Метод trim
Усекает буфер.
DataBuffer trim() const
Возвращаемое значение
DataBuffer, содержащий часть исходного буфера, оставшуюся после усечения.
Метод trimn
Вырезает из буфера заданный фрагмент.
DataBuffer trimn(boost::uint64_t b, boost::uint64_t e) const
Входные параметры
Параметр | Описание |
---|---|
b | Начальная позиция. |
e | Конечная позиция. |
Возвращаемое значение
DataBuffer, содержащий заданный фрагмент данных исходного буфера.
Метод split
Делит буфер на две части.
bool split(const std::string &delim, DataBuffer &first, DataBuffer &second) const;
bool split(char delim, DataBuffer &first, DataBuffer &second) const;
Входные параметры
Параметр | Описание |
---|---|
delim | Символ или строка разделитель. |
first | Буфер для хранения первой части разделенных данных. |
second | Буфер для хранения второй части разделенных данных. |
Возвращаемое значение
true
, если операция разделения завершилась успешно.
Метод startsWith
Проверяет, начинается ли буфер с определенных данных.
bool startsWith(const std::string &data) const
Входные параметры
Параметр | Описание |
---|---|
data | Строка для сравнения. |
Возвращаемое значение
true
, если буфер начинается с заданной строки.
Метод startsWithCI
Проверяет, начинается ли буфер с определенных данных без учета регистра символов.
bool startsWithCI(const std::string &data) const
Входные параметры
Параметр | Описание |
---|---|
data | Строка для сравнения. |
Возвращаемое значение
true
, если буфер начинается с заданной строки.
Метод endsWith
Проверяет окончание буфера на соответствие определенным данным.
bool endsWith(const std::string &data) const
Входные параметры
Параметр | Описание |
---|---|
data | Строка для сравнения. |
Возвращаемое значение
true
, если буфер заканчивается заданной строкой.
Метод endsWithCI
Проверяет окончание буфера на соответствие определенным данным без учета регистра символов.
bool endsWithCI(const std::string &data) const
Входные параметры
Параметр | Описание |
---|---|
data | Строка для сравнения. |
Возвращаемое значение
true
, если буфер заканчивается заданной строкой.
Метод toString
Возвращает буфер в строковом представлении.
void toString(std::string &str) const
Входные параметры
Параметр | Описание |
---|---|
str | Выходной параметр. Строка, в которую будет сохранен результат. |
Метод read
Читает данные из буфера.
boost::uint64_t read(boost::uint64_t pos, char *data, boost::uint64_t len)
Входные параметры
Параметр | Описание |
---|---|
pos | Позиция в буфере. |
data | Выходной параметр. Указатель на строку, в которую будут скопированы данные. |
len | Необходимый размер данных. |
Возвращаемое значение
Количество прочитанных байт.
Метод write
Записывает данные в буфер.
boost::uint64_t write(boost::uint64_t pos, const char *data, boost::uint64_t len)
Входные параметры
Параметр | Описание |
---|---|
pos | Позиция в буфере. |
data | Данные для записи. |
len | Размер данных. |
Возвращаемое значение
Количество записанных байт.
Метод beginIndex
Возвращает номер первого байта в буфере.
boost::uint64_t beginIndex() const
Возвращаемое значение
Номер первого байта.
Метод endIndex
Возвращает номер последнего байта в буффере.
boost::uint64_t endIndex() const
Возвращаемое значение
Номер последнего байта.