buffer.hpp
Go to the documentation of this file.
1/*
2 Copyright (C) 2011 Equinor ASA, Norway.
3
4 The file 'buffer.h' is part of ERT - Ensemble based Reservoir Tool.
5
6 ERT is free software: you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation, either version 3 of the License, or
9 (at your option) any later version.
10
11 ERT is distributed in the hope that it will be useful, but WITHOUT ANY
12 WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 FITNESS FOR A PARTICULAR PURPOSE.
14
15 See the GNU General Public License at <http://www.gnu.org/licenses/gpl.html>
16 for more details.
17*/
18
19#ifndef ERT_BUFFER_H
20#define ERT_BUFFER_H
21
22#ifdef __cplusplus
23extern "C" {
24#endif
25#include <stdlib.h>
26#include <stdio.h>
27#include <stdbool.h>
28#include <string.h>
29#include <time.h>
30
31#include <ert/util/ert_api_config.hpp>
33#include <ert/util/ssize_t.hpp>
34
35
36
37 typedef struct buffer_struct buffer_type;
38
39 buffer_type * buffer_alloc( size_t buffer_size );
40 buffer_type * buffer_alloc_private_wrapper(void * data , size_t buffer_size );
41 bool buffer_search_replace( buffer_type * buffer , const char * old_string , const char * new_string);
43 void buffer_memshift(buffer_type * buffer , size_t offset, ssize_t shift);
44 bool buffer_strstr( buffer_type * buffer , const char * expr );
46 void buffer_replace_string( buffer_type * buffer , size_t offset , size_t old_size , const char * new_string);
47 void buffer_replace_data(buffer_type * buffer , size_t offset , size_t old_size , const void * new_data , size_t new_size);
48
51 size_t buffer_fread(buffer_type * buffer , void * target_ptr , size_t item_size , size_t items);
52 size_t buffer_fwrite(buffer_type * buffer , const void * src_ptr , size_t item_size , size_t items);
53 void buffer_summarize(const buffer_type * buffer , const char *);
54
55 void buffer_fwrite_char_ptr(buffer_type * buffer , const char * string_ptr );
56 void buffer_strcat(buffer_type * buffer , const char * string);
65 void buffer_store(const buffer_type * buffer , const char * filename);
73 void * buffer_iget_data(const buffer_type * buffer, size_t offset);
74 void buffer_stream_fwrite( const buffer_type * buffer , FILE * stream );
76 void buffer_fseek(buffer_type * buffer , ssize_t offset , int whence);
77 void buffer_fskip(buffer_type * buffer, ssize_t offset);
79
85
88
89 size_t buffer_stream_fwrite_n( const buffer_type * buffer , size_t offset , ssize_t write_size , FILE * stream );
90 void buffer_stream_fprintf( const buffer_type * buffer , FILE * stream );
91 void buffer_stream_fread( buffer_type * buffer , size_t byte_size , FILE * stream);
92 buffer_type * buffer_fread_alloc(const char * filename);
93 void buffer_fread_realloc(buffer_type * buffer , const char * filename);
94 void buffer_fprintf(const buffer_type * buffer, const char * fmt, FILE * stream);
95
96#ifdef ERT_HAVE_ZLIB
97 size_t buffer_fwrite_compressed(buffer_type * buffer, const void * ptr , size_t byte_size);
98 size_t buffer_fread_compressed(buffer_type * buffer , size_t compressed_size , void * target_ptr , size_t target_size);
99#endif
100
101
102#include "buffer_string.h"
103
106
107#ifdef __cplusplus
108}
109#endif
110
111#endif
bool buffer_fread_bool(buffer_type *buffer)
void * buffer_iget_data(const buffer_type *buffer, size_t offset)
void buffer_fskip_int(buffer_type *buffer)
void buffer_clear(buffer_type *buffer)
size_t buffer_get_size(const buffer_type *buffer)
void buffer_fprintf(const buffer_type *buffer, const char *fmt, FILE *stream)
void buffer_memshift(buffer_type *buffer, size_t offset, ssize_t shift)
void buffer_replace_data(buffer_type *buffer, size_t offset, size_t old_size, const void *new_data, size_t new_size)
size_t buffer_get_alloc_size(const buffer_type *buffer)
double buffer_fread_double(buffer_type *buffer)
size_t buffer_get_string_size(const buffer_type *buffer)
void buffer_fskip_long(buffer_type *buffer)
size_t buffer_get_remaining_size(const buffer_type *buffer)
int buffer_fgetc(buffer_type *buffer)
void buffer_stream_fread(buffer_type *buffer, size_t byte_size, FILE *stream)
void buffer_fskip_bool(buffer_type *buffer)
void buffer_free_container(buffer_type *buffer)
void buffer_fskip_time_t(buffer_type *buffer)
void buffer_fwrite_char_ptr(buffer_type *buffer, const char *string_ptr)
void buffer_fwrite_char(buffer_type *buffer, char value)
size_t buffer_fwrite(buffer_type *buffer, const void *src_ptr, size_t item_size, size_t items)
void * buffer_alloc_data_copy(const buffer_type *buffer)
void * buffer_get_data(const buffer_type *buffer)
void buffer_fwrite_int(buffer_type *buffer, int value)
void buffer_rewind(buffer_type *buffer)
bool buffer_strstr(buffer_type *buffer, const char *expr)
bool buffer_strchr(buffer_type *buffer, int c)
struct buffer_struct buffer_type
Definition: buffer.hpp:37
void buffer_stream_fwrite(const buffer_type *buffer, FILE *stream)
size_t buffer_stream_fwrite_n(const buffer_type *buffer, size_t offset, ssize_t write_size, FILE *stream)
size_t buffer_fread(buffer_type *buffer, void *target_ptr, size_t item_size, size_t items)
buffer_type * buffer_fread_alloc(const char *filename)
void buffer_fwrite_bool(buffer_type *buffer, bool value)
void buffer_store(const buffer_type *buffer, const char *filename)
void buffer_shrink_to_fit(buffer_type *buffer)
void buffer_summarize(const buffer_type *buffer, const char *)
void buffer_strcat(buffer_type *buffer, const char *string)
UTIL_SAFE_CAST_HEADER(buffer)
time_t buffer_fread_time_t(buffer_type *buffer)
bool buffer_search_replace(buffer_type *buffer, const char *old_string, const char *new_string)
long int buffer_fread_long(buffer_type *buffer)
void buffer_stream_fprintf(const buffer_type *buffer, FILE *stream)
buffer_type * buffer_alloc_private_wrapper(void *data, size_t buffer_size)
UTIL_IS_INSTANCE_HEADER(buffer)
int buffer_fread_int(buffer_type *buffer)
void buffer_fwrite_time_t(buffer_type *buffer, time_t value)
void buffer_fwrite_double(buffer_type *buffer, double value)
buffer_type * buffer_alloc(size_t buffer_size)
void buffer_fskip(buffer_type *buffer, ssize_t offset)
void buffer_fread_realloc(buffer_type *buffer, const char *filename)
void buffer_replace_string(buffer_type *buffer, size_t offset, size_t old_size, const char *new_string)
void buffer_fseek(buffer_type *buffer, ssize_t offset, int whence)
void buffer_free(buffer_type *buffer)
size_t buffer_get_offset(const buffer_type *buffer)
int cJSON_bool fmt
Definition: cJSON.h:158
char * buffer
Definition: cJSON.h:161
T value(details::expression_node< T > *n)
Definition: exprtk.hpp:12955
static std::string data()
Definition: exprtk.hpp:40022