1 /*@ C++ injection point of most things which need it.
3 * Copyright (c) 2019 Steffen (Daode) Nurpmeso <steffen@sdaoden.eu>.
4 * SPDX-License-Identifier: ISC
6 * Permission to use, copy, modify, and/or distribute this software for any
7 * purpose with or without fee is hereby granted, provided that the above
8 * copyright notice and this permission notice appear in all copies.
10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
11 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
12 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
13 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
19 #define su_FILE su_cxx_core
23 su_USECASE_MX_DISABLED
30 #include "su/code-in.h"
36 log::write(level lvl
, char const *fmt
, ...){ // XXX unroll
41 su_log_vwrite(S(enum su_log_level
,lvl
), fmt
, &va
);
48 STA type_toolbox
<char*> const * const cs::type_toolbox
=
49 R(NSPC(su
)type_toolbox
<char*> const*,&su_cs_toolbox
);
50 STA type_toolbox
<char const*> const * const cs::const_type_toolbox
=
51 R(NSPC(su
)type_toolbox
<char const*> const*,&su_cs_toolbox
);
53 STA type_toolbox
<char*> const * const cs::type_toolbox_case
=
54 R(NSPC(su
)type_toolbox
<char*> const*,&su_cs_toolbox_case
);
55 STA type_toolbox
<char const*> const * const cs::const_type_toolbox_case
=
56 R(NSPC(su
)type_toolbox
<char const*> const*,&su_cs_toolbox_case
);
60 STA
char const utf8::replacer
[sizeof su_UTF8_REPLACER
] = su_UTF8_REPLACER
;
62 #include "su/code-ou.h"