Skip to content

Commit da95fd2

Browse files
committed
feat: add utf8cpp
1 parent 5b1e968 commit da95fd2

10 files changed

Lines changed: 1518 additions & 0 deletions

File tree

NOTICE

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,3 +10,6 @@ The Apache Software Foundation (http://www.apache.org/).
1010

1111
Prior to moving to ASF, the software for this project was developed at
1212
Yahoo Inc. (https://developer.yahoo.com).
13+
14+
This product includes utf8cpp (https://github.com/nemtrif/utfcpp),
15+
licensed under the Boost Software License, Version 1.0.

common/CMakeLists.txt

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,3 +51,14 @@ install(FILES
5151
include/serde.hpp
5252
include/xxhash64.h
5353
DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/DataSketches")
54+
55+
install(FILES
56+
include/third_party/utf8cpp/utf8.h
57+
include/third_party/utf8cpp/utf8/checked.h
58+
include/third_party/utf8cpp/utf8/core.h
59+
include/third_party/utf8cpp/utf8/cpp11.h
60+
include/third_party/utf8cpp/utf8/cpp17.h
61+
include/third_party/utf8cpp/utf8/cpp20.h
62+
include/third_party/utf8cpp/utf8/unchecked.h
63+
include/third_party/utf8cpp/LICENSE
64+
DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/DataSketches/third_party/utf8cpp")
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
Boost Software License - Version 1.0 - August 17th, 2003
2+
3+
Permission is hereby granted, free of charge, to any person or organization
4+
obtaining a copy of the software and accompanying documentation covered by
5+
this license (the "Software") to use, reproduce, display, distribute,
6+
execute, and transmit the Software, and to prepare derivative works of the
7+
Software, and to permit third-parties to whom the Software is furnished to
8+
do so, all subject to the following:
9+
10+
The copyright notices in the Software and this entire statement, including
11+
the above license grant, this restriction and the following disclaimer,
12+
must be included in all copies of the Software, in whole or in part, and
13+
all derivative works of the Software, unless such copies or derivative
14+
works are solely in the form of machine-executable object code generated by
15+
a source language processor.
16+
17+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19+
FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
20+
SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
21+
FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
22+
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23+
DEALINGS IN THE SOFTWARE.
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
// Copyright 2006 Nemanja Trifunovic
2+
3+
/*
4+
Permission is hereby granted, free of charge, to any person or organization
5+
obtaining a copy of the software and accompanying documentation covered by
6+
this license (the "Software") to use, reproduce, display, distribute,
7+
execute, and transmit the Software, and to prepare derivative works of the
8+
Software, and to permit third-parties to whom the Software is furnished to
9+
do so, all subject to the following:
10+
11+
The copyright notices in the Software and this entire statement, including
12+
the above license grant, this restriction and the following disclaimer,
13+
must be included in all copies of the Software, in whole or in part, and
14+
all derivative works of the Software, unless such copies or derivative
15+
works are solely in the form of machine-executable object code generated by
16+
a source language processor.
17+
18+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20+
FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
21+
SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
22+
FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
23+
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
24+
DEALINGS IN THE SOFTWARE.
25+
*/
26+
27+
28+
#ifndef UTF8_FOR_CPP_2675DCD0_9480_4c0c_B92A_CC14C027B731
29+
#define UTF8_FOR_CPP_2675DCD0_9480_4c0c_B92A_CC14C027B731
30+
31+
/*
32+
To control the C++ language version used by the library, you can define UTF_CPP_CPLUSPLUS macro
33+
and set it to one of the values used by the __cplusplus predefined macro.
34+
35+
For instance,
36+
#define UTF_CPP_CPLUSPLUS 199711L
37+
will cause the UTF-8 CPP library to use only types and language features available in the C++ 98 standard.
38+
Some library features will be disabled.
39+
40+
If you leave UTF_CPP_CPLUSPLUS undefined, it will be internally assigned to __cplusplus.
41+
*/
42+
43+
#include "utf8/checked.h"
44+
#include "utf8/unchecked.h"
45+
46+
#endif // header guard

0 commit comments

Comments
 (0)