summaryrefslogtreecommitdiff
path: root/absl/strings/README.md
blob: d5320eb0a635377eed7c95bd98990c5f3a4290e2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
# ABSL Strings

This directory contains packages related to std::string operations and std::string
alternatives (such as character-agnostic byte manipulation packages).

## Library Listing

Two library targets are available within this directory:

* **strings** (`//absl/strings:strings`) provides classes and
  utility functions for manipulating and comparing strings, converting other
  types (such as integers) into strings, or evaluating strings for other usages
   (such as tokenization).

* **cord** (`//absl/strings:cord`) provides classes and utility
  functions for manipulating `Cord` elements. A `Cord` is a sequence of
  characters that internally uses a tree structure to store their data,
  avoiding the need for long regions of contiguous memory, and allows memory
  sharing, sub-std::string copy-on-write, and a host of other advanced std::string
  features.

## Strings Library File Listing

The following header files are directly included within the
`absl::strings` library.

## Alternate std::string-like Classes

* `bytestream.h`
    <br/>Abstraction of std::string for I/O
* `string_view.h`
    <br/>Pointer to part or all of another std::string

## Formatting and Parsing

* `numbers.h`
    <br/>Converter between strings and numbers. Prefer `str_cat.h` for numbers
    to strings

## Operations on Characters

* `ascii_ctype.h`
    <br/>Char classifiers like &lt;ctype.h&gt; but faster
* `charset.h`
    <br/>Bitmap from unsigned char -&gt; bool

## Operations on Strings

* `case.h`
    <br/>Case-changers
* `escaping.h`
    <br/>Escapers and unescapers
* `str_join.h`
    <br/>Joiner functions using a delimiter
* `str_split.h`
    <br/>Split functions
* `str_cat.h`
    <br/>Concatenators and appenders
* `string_view_utils.h`
    <br>Utility functions for strings
* `strip.h`
    <br/>Character removal functions
* `substitute.h`
    <br/>Printf-like typesafe formatter

## Miscellaneous

* `util.h`
    <br/>Grab bag of useful std::string functions


## Cord Library File Listing

The following header files are directly included within the
`absl::strings::cord` library:

## The `Cord` Class

* `cord.h`
    <br/>A std::string built from a tree of shareable nodes

## Operations on Cords

* `cord_cat.h`
    <br/>Concatenator functions for cords
* `cord_util.h`
    <br/>Utility functions for cords