libGimbal
0.1.0
C17-Based Extended Standard Library and Cross-Language Runtime Framework
Loading...
Searching...
No Matches
gimbal_strings.h
Go to the documentation of this file.
1
/*! \file
2
* \brief Aggregate header including entire string API.
3
* \ingroup strings
4
*
5
* This file is a single-file aggregate header which includes
6
* the header files for all strings contained within libGimbal's
7
* string API, so you do not have to include them individually.
8
*
9
* \author 2023, 2025 Falco Girgis
10
* \copyright MIT License
11
*/
12
#
ifndef
GIMBAL_STRINGS_H
13
#
define
GIMBAL_STRINGS_H
14
15
#
include
"strings/gimbal_pattern.h"
16
#
include
"strings/gimbal_quark.h"
17
#
include
"strings/gimbal_string.h"
18
#
include
"strings/gimbal_string_buffer.h"
19
#
include
"strings/gimbal_string_ref.h"
20
#
include
"strings/gimbal_string_view.h"
21
#
include
"strings/gimbal_string_list.h"
22
23
/*! \defgroup strings Strings
24
\ingroup dataTypes
25
\brief Collection of specialized string types.
26
27
LibGimbal provides a rich set of string manipulation functions with API functionality taken
28
from various languages such as C++ and Java.
29
30
Rather than create a single string type and API that is general-purpose and only "decent"
31
at everything (such as C++'s std::string and most equivalents), libGimbal has taken the approach
32
of creating various different string types, with each optimized for a particular use-case.
33
34
For a little bit of extra complexity, this has the added benefits of allowing for custom-tailored
35
APIs that are well suited for such individual use-cases in addition to the performance benefit.
36
If you're using libGimbal with a higher-level langauge such as C++ or Rust, you also gain more
37
than just another generic string type which is already builtin to your language of choice.
38
39
## Choosing the Right String
40
The following table can be referenced when deciding which string type to use:
41
42
Type | Use-cases | Header
43
----------------|------------------------------------------------------|-------
44
GblStringView | Reading or immutable data processing | gimbal_string_view.h
45
GblStringBuffer | Writing or mutable data processing and building | gimbal_string_buffer.h
46
::GblStringRef | Storing or managing ownership | gimbal_string_ref.h
47
::GblQuark | Hashing or uniquely identifying | gimbal_quark.h
48
GblStringList | Storing or operating on multiple strings | gimbal_string_list.h
49
GblPattern | Searching or applying regular expressions to strings | gimbal_pattern.h
50
*/
51
52
53
#
endif
// GIMBAL_STRINGS_H
lib
api
gimbal
gimbal_strings.h
Generated by
1.13.2