LibreOffice Module hwpfilter (master)
1
hwpfilter
source
hstream.cxx
Go to the documentation of this file.
1
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2
/*
3
* This file is part of the LibreOffice project.
4
*
5
* This Source Code Form is subject to the terms of the Mozilla Public
6
* License, v. 2.0. If a copy of the MPL was not distributed with this
7
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
8
*
9
* This file incorporates work covered by the following license notice:
10
*
11
* Licensed to the Apache Software Foundation (ASF) under one or more
12
* contributor license agreements. See the NOTICE file distributed
13
* with this work for additional information regarding copyright
14
* ownership. The ASF licenses this file to you under the Apache
15
* License, Version 2.0 (the "License"); you may not use this file
16
* except in compliance with the License. You may obtain a copy of
17
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
18
*/
19
20
#include <string.h>
21
#include <stdlib.h>
22
#include "
hstream.hxx
"
23
24
HStream::HStream
()
25
:
pos
(0)
26
{
27
}
28
29
void
HStream::addData
(
const
byte
* buf,
size_t
aToAdd) {
seq
.insert(
seq
.end(), buf, buf + aToAdd); }
30
31
size_t
HStream::readBytes
(
byte
* buf,
size_t
aToRead)
32
{
33
auto
size
=
seq
.size();
34
if
(aToRead >= (
size
-
pos
))
35
aToRead =
size
-
pos
;
36
for
(
size_t
i
= 0;
i
< aToRead; ++
i
)
37
buf[
i
] =
seq
[
pos
++];
38
return
aToRead;
39
}
40
41
size_t
HStream::skipBytes
(
size_t
aToSkip)
42
{
43
auto
size
=
seq
.size();
44
if
(aToSkip >= (
size
-
pos
))
45
aToSkip =
size
-
pos
;
46
pos
+= aToSkip;
47
return
aToSkip;
48
}
49
50
size_t
HStream::available
()
const
{
return
seq
.size() -
pos
; }
51
52
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
HStream::pos
size_t pos
Definition:
hstream.hxx:47
HStream::skipBytes
size_t skipBytes(size_t aToSkip)
Skip some byte from stream as given size.
Definition:
hstream.cxx:41
HStream::seq
std::vector< byte > seq
Definition:
hstream.hxx:46
HStream::HStream
HStream()
Definition:
hstream.cxx:24
HStream::available
size_t available() const
Definition:
hstream.cxx:50
HStream::addData
void addData(const byte *buf, size_t aToAdd)
Definition:
hstream.cxx:29
HStream::readBytes
size_t readBytes(byte *buf, size_t aToRead)
Read some byte to buf as given size.
Definition:
hstream.cxx:31
hstream.hxx
size
size
i
int i
pos
size_t pos
Generated on Sun Jul 30 2023 04:33:10 for LibreOffice Module hwpfilter (master) by
1.9.3