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 Strings module-wide include
3
* \ingroup strings
4
*
5
* \author Falco Girgis
6
*/
7
#
ifndef
GIMBAL_STRINGS_H
8
#
define
GIMBAL_STRINGS_H
9
10
#
include
"strings/gimbal_pattern.h"
11
#
include
"strings/gimbal_quark.h"
12
#
include
"strings/gimbal_string.h"
13
#
include
"strings/gimbal_string_buffer.h"
14
#
include
"strings/gimbal_string_ref.h"
15
#
include
"strings/gimbal_string_view.h"
16
#
include
"strings/gimbal_string_list.h"
17
18
/*! \defgroup strings Strings
19
\ingroup dataTypes
20
* \brief Collection of specialized string types
21
22
LibGimbal provides a rich set of string manipulation functions with API functionality taken
23
from various languages such as C++ and Java.
24
25
Rather than create a single string type and API that is general-purpose and only "decent"
26
at everything (such as C++'s std::string and most equivalents), libGimbal has taken the approach
27
of creating various different string types, with each optimized for a particular use-case.
28
29
For a little bit of extra complexity, this has the added benefits of allowing for custom-tailored
30
APIs that are well suited for such individual use-cases in addition to the performance benefit.
31
If you're using libGimbal with a higher-level langauge such as C++ or Rust, you also gain more
32
than just another generic string type which is already builtin to your language of choice.
33
34
## Choosing the Right String
35
The following table can be referenced when deciding which string type to use:
36
37
Type | Use-cases | Header
38
----------------|---------------------------------------------------|-------
39
GblStringView | Reading or immutable data processing | gimbal_string_view.h
40
GblStringBuffer | Writing or mutable data processing and building | gimbal_string_buffer.h
41
::GblStringRef | Storing or managing ownership | gimbal_string_ref.h
42
::GblQuark | Hashing or uniquely identifying | gimbal_quark.h
43
*/
44
45
46
#
endif
// GIMBAL_STRINGS_H
lib
api
gimbal
gimbal_strings.h
Generated by
1.9.8