blob: ef7a40c5c6d2ad5a52bf9bb44f58df1551121727 (
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
|
// include/cmmm/string-view.h --- simple string view library
#ifndef INCLUDED__CMMM__STRING_VIEW__H
#define INCLUDED__CMMM__STRING_VIEW__H
// #define CMMM__STRING_VIEW__STRIP_VENDOR
// #define CMMM__STRING_VIEW__SHORT_NAMESPACE
#define CMMM__STRING_VIEW__LENGTH(SV) ((SV).end - (SV).begin)
#define CMMM__STRING_VIEW__FMT "%.*s"
#define CMMM__STRING_VIEW__FMTA(SV) (int) CMMM__STRING_VIEW__LENGTH (SV), (SV).begin
struct cmmm__string_view {
const char *begin;
const char *end;
};
#ifdef CMMM__STRING_VIEW__SHORT_NAMESPACE
#define CMMM__SV_STRIP_VENDOR CMMM__STRING_VIEW__STRIP_VENDOR
#define CMMM__SV_LENGTH CMMM__STRING_VIEW__LENGTH
#define CMMM__SV_FMT CMMM__STRING_VIEW__FMT
#define CMMM__SV_FMTA CMMM__STRING_VIEW__FMTA
#define string_view cmmm__string_view
#endif
#ifdef CMMM__STRING_VIEW__STRIP_VENDOR
#define STRING_VIEW__STRIP_VENDOR CMMM__STRING_VIEW__STRIP_VENDOR
#define STRING_VIEW__LENGTH CMMM__STRING_VIEW__LENGTH
#define STRING_VIEW__FMT CMMM__STRING_VIEW__FMT
#define STRING_VIEW__FMTA CMMM__STRING_VIEW__FMTA
#ifdef CMMM__STRING_VIEW__SHORT_NAMESPACE
#define SV_STRIP_VENDOR CMMM__STRING_VIEW__STRIP_VENDOR
#define SV_LENGTH CMMM__STRING_VIEW__LENGTH
#define SV_FMT CMMM__STRING_VIEW__FMT
#define SV_FMTA CMMM__STRING_VIEW__FMTA
#endif
#endif
#endif // INCLUDED__CMMM__STRING_VIEW__H
// include/cmmm/string-view.h ends here
|