UFO: Alien Invasion
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
stringhunk.h
Go to the documentation of this file.
1 
6 /*
7 Copyright (C) 2002-2020 UFO: Alien Invasion.
8 
9 This program is free software; you can redistribute it and/or
10 modify it under the terms of the GNU General Public License
11 as published by the Free Software Foundation; either version 2
12 of the License, or (at your option) any later version.
13 
14 This program is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
17 
18 See the GNU General Public License for more details.
19 
20 You should have received a copy of the GNU General Public License
21 along with this program; if not, write to the Free Software
22 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
23 */
24 
25 #pragma once
26 
27 #include "ufotypes.h"
28 
29 typedef struct stringHunk_s {
30  size_t size;
31  char* pos;
32  char* hunk;
33  int entries;
34 } stringHunk_t;
35 
36 typedef void (*stringHunkVisitor_t)(const char* string);
37 
38 bool STRHUNK_Add(stringHunk_t* hunk, const char* string);
39 void STRHUNK_Reset(stringHunk_t* hunk);
42 void STRHUNK_Delete(stringHunk_t** hunk);
43 int STRHUNK_Size(const stringHunk_t* hunk);
44 size_t STRHUNK_GetFreeSpace(const stringHunk_t* hunk);
size_t STRHUNK_GetFreeSpace(const stringHunk_t *hunk)
Definition: stringhunk.cpp:83
size_t size
Definition: stringhunk.h:30
char * hunk
Definition: stringhunk.h:32
GLsizei size
Definition: r_gl.h:152
int STRHUNK_Size(const stringHunk_t *hunk)
Definition: stringhunk.cpp:78
void(* stringHunkVisitor_t)(const char *string)
Definition: stringhunk.h:36
const GLuint *typedef void(APIENTRY *GenRenderbuffersEXT_t)(GLsizei
Definition: r_gl.h:189
stringHunk_t * STRHUNK_Create(size_t size)
Definition: stringhunk.cpp:88
void STRHUNK_Visit(stringHunk_t *hunk, stringHunkVisitor_t visitor)
Definition: stringhunk.cpp:62
struct stringHunk_s stringHunk_t
void STRHUNK_Reset(stringHunk_t *hunk)
Definition: stringhunk.cpp:55
void STRHUNK_Delete(stringHunk_t **hunk)
Definition: stringhunk.cpp:97
Cross-platform type definitions.
char * pos
Definition: stringhunk.h:31
bool STRHUNK_Add(stringHunk_t *hunk, const char *string)
Definition: stringhunk.cpp:32