/* SPDX-FileCopyrightText: 2026 - Sébastien Wilmet
 * SPDX-License-Identifier: LGPL-3.0-or-later
 */

#pragma once

#if !defined (GFLS_H_INSIDE) && !defined (GFLS_COMPILATION)
#error "Only <gfls/gfls.h> can be included directly."
#endif

#include <gfls/gfls-bytes-region.h>

G_BEGIN_DECLS

typedef struct _GflsBytesRegionBuilder GflsBytesRegionBuilder;

G_MODULE_EXPORT
GflsBytesRegionBuilder *	gfls_bytes_region_builder_new			(void);

G_MODULE_EXPORT
GflsBytesRegion *		gfls_bytes_region_builder_free			(GflsBytesRegionBuilder *builder,
										 gboolean                free_data);

G_MODULE_EXPORT
void				gfls_bytes_region_builder_append		(GflsBytesRegionBuilder *builder,
										 gsize                   sub_region_length,
										 gboolean                is_part_of_region);

G_MODULE_EXPORT
gsize				gfls_bytes_region_builder_get_current_size	(GflsBytesRegionBuilder *builder);

G_END_DECLS
