Skip to content

Commit 8a99388

Browse files
committed
Exposes used_size for mem_outfile
Closes aous72#165
1 parent be997ab commit 8a99388

File tree

1 file changed

+28
-21
lines changed

1 file changed

+28
-21
lines changed

src/core/common/ojph_file.h

Lines changed: 28 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,21 @@
22
// This software is released under the 2-Clause BSD license, included
33
// below.
44
//
5-
// Copyright (c) 2019, Aous Naman
5+
// Copyright (c) 2019, Aous Naman
66
// Copyright (c) 2019, Kakadu Software Pty Ltd, Australia
77
// Copyright (c) 2019, The University of New South Wales, Australia
8-
//
8+
//
99
// Redistribution and use in source and binary forms, with or without
1010
// modification, are permitted provided that the following conditions are
1111
// met:
12-
//
12+
//
1313
// 1. Redistributions of source code must retain the above copyright
1414
// notice, this list of conditions and the following disclaimer.
15-
//
15+
//
1616
// 2. Redistributions in binary form must reproduce the above copyright
1717
// notice, this list of conditions and the following disclaimer in the
1818
// documentation and/or other materials provided with the distribution.
19-
//
19+
//
2020
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
2121
// IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
2222
// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
@@ -84,10 +84,10 @@ namespace ojph {
8484

8585
virtual size_t write(const void *ptr, size_t size) = 0;
8686
virtual si64 tell() { return 0; }
87-
virtual int seek(si64 offset, enum outfile_base::seek origin)
88-
{
87+
virtual int seek(si64 offset, enum outfile_base::seek origin)
88+
{
8989
ojph_unused(offset); ojph_unused(origin);
90-
return -1; /* always fail, to remind you to write an implementation */
90+
return -1; /* always fail, to remind you to write an implementation */
9191
}
9292
virtual void flush() {}
9393
virtual void close() {}
@@ -131,19 +131,19 @@ namespace ojph {
131131
/** A destructor */
132132
~mem_outfile() override;
133133

134-
/**
134+
/**
135135
* @brief Call this function to open a memory file.
136136
*
137137
* This function creates a memory buffer to be used for storing
138138
* the generated j2k codestream.
139-
*
139+
*
140140
* @param initial_size is the initial memory buffer size.
141141
* The default value is 2^16.
142142
* @param clear_mem if set to true, all allocated memory is reset to 0
143143
*/
144144
void open(size_t initial_size = 65536, bool clear_mem = false);
145145

146-
/**
146+
/**
147147
* @brief Call this function to write data to the memory file.
148148
*
149149
* This function adds new data to the memory file. The memory buffer
@@ -154,16 +154,16 @@ namespace ojph {
154154
*/
155155
size_t write(const void *ptr, size_t size) override;
156156

157-
/**
158-
* @brief Call this function to know the file size (i.e., number of
157+
/**
158+
* @brief Call this function to know the file size (i.e., number of
159159
* bytes used to store the file).
160160
*
161161
* @return the file size.
162162
*/
163163
si64 tell() override { return cur_ptr - buf; }
164164

165-
/**
166-
* @brief Call this function to change write pointer location; the
165+
/**
166+
* @brief Call this function to change write pointer location; the
167167
* function can expand file storage.
168168
*
169169
* @return 0 on success, non-zero otherwise (not used).
@@ -176,7 +176,7 @@ namespace ojph {
176176
*/
177177
void close() override;
178178

179-
/**
179+
/**
180180
* @brief Call this function to access memory file data.
181181
*
182182
* It is not recommended to store the returned value because buffer
@@ -186,8 +186,8 @@ namespace ojph {
186186
*/
187187
const ui8* get_data() { return buf; }
188188

189-
/**
190-
* @brief Call this function to access memory file data (for const
189+
/**
190+
* @brief Call this function to access memory file data (for const
191191
* objects)
192192
*
193193
* This is similar to the above function, except that it can be used
@@ -197,19 +197,26 @@ namespace ojph {
197197
*/
198198
const ui8* get_data() const { return buf; }
199199

200-
/**
200+
/**
201201
* @brief Call this function to write the memory file data to a file
202202
*
203203
*/
204204
void write_to_file(const char *file_name) const;
205205

206+
/**
207+
* @brief Call this function to get the used size of the memory file.
208+
*
209+
* @return the used size of the memory file.
210+
*/
211+
size_t get_used_size() const { return used_size; }
212+
206213
private:
207214
/**
208215
* @brief This function expands storage by x1.5 needed space.
209-
*
216+
*
210217
* It sets cur_ptr correctly, and clears the extended area of the
211218
* buffer. It optionally clear the whole buffer
212-
*
219+
*
213220
* @param new_size New size of the buffer
214221
* @param clear_all Set to true to clear whole buffer, not just expansion
215222
*/

0 commit comments

Comments
 (0)