Skip to content

Commit 3906bab

Browse files
committed
project restructuring
1 parent 877db3a commit 3906bab

File tree

100 files changed

+4395
-4296
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

100 files changed

+4395
-4296
lines changed

.doxygen

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -320,11 +320,11 @@ TOC_INCLUDE_HEADINGS = 0
320320

321321
AUTOLINK_SUPPORT = YES
322322

323-
# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
323+
# If you use STL classes (i.e. string_t, std::vector, etc.) but do not want
324324
# to include (a tag file for) the STL sources as input, then you should set this
325325
# tag to YES in order to let doxygen match functions declarations and
326-
# definitions whose arguments contain STL classes (e.g. func(std::string);
327-
# versus func(std::string) {}). This also make the inheritance and collaboration
326+
# definitions whose arguments contain STL classes (e.g. func(string_t);
327+
# versus func(string_t) {}). This also make the inheritance and collaboration
328328
# diagrams that involve STL classes more complete and accurate.
329329
# The default value is: NO.
330330

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -246,7 +246,7 @@ None
246246
### Tag
247247
`3.1.2`.
248248
### Changes
249-
* rename the `setbit()` function into `setbit_()` in order to avoid conflict with the standard library macro `setbit` causing compilation error.
249+
* rename the `setbit()` function into `setbit()` in order to avoid conflict with the standard library macro `setbit` causing compilation error.
250250
### Additions
251251
* add `send()` method to the `sync_client` and `future_client`.
252252
### Removals

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ configure_file("cpp_redis.pc.in"
149149
#
150150
# executable
151151
#
152-
add_library(${PROJECT} STATIC ${SOURCES})
152+
add_library(${PROJECT} STATIC ${SOURCES} include/cpp_redis/helpers/string_util.hpp include/cpp_redis/misc/crc16.hpp)
153153
set_property(TARGET ${PROJECT} PROPERTY POSITION_INDEPENDENT_CODE ON)
154154

155155
target_include_directories(${PROJECT} PRIVATE include)

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,10 +42,10 @@ cpp_redis::subscriber sub;
4242

4343
sub.connect();
4444

45-
sub.subscribe("some_chan", [](const std::string& chan, const std::string& msg) {
45+
sub.subscribe("some_chan", [](const string_t& chan, const string_t& msg) {
4646
std::cout << "MESSAGE " << chan << ": " << msg << std::endl;
4747
});
48-
sub.psubscribe("*", [](const std::string& chan, const std::string& msg) {
48+
sub.psubscribe("*", [](const string_t& chan, const string_t& msg) {
4949
std::cout << "PMESSAGE " << chan << ": " << msg << std::endl;
5050
});
5151

clang_format.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
#!/bin/sh
22

3-
find sources includes tests examples -maxdepth 4 \( -name '*.cpp' -o -name '*.hpp' -o -name '*.ipp' -o -name '*.c' -o -name '*.h' \) -exec clang-format -style=file -i {} ';'
3+
find src include tests examples -maxdepth 4 \( -name '*.cpp' -o -name '*.hpp' -o -name '*.ipp' -o -name '*.c' -o -name '*.h' \) -exec clang-format -style=file -i {} ';'

docs/html/classcpp__redis_1_1client-members.html

Lines changed: 514 additions & 514 deletions
Large diffs are not rendered by default.

docs/html/classcpp__redis_1_1client.html

Lines changed: 538 additions & 538 deletions
Large diffs are not rendered by default.

docs/html/classcpp__redis_1_1logger-members.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -75,17 +75,17 @@
7575

7676
<p>This is the complete list of members for <a class="el" href="classcpp__redis_1_1logger.html">cpp_redis::logger</a>, including all inherited members.</p>
7777
<table class="directory">
78-
<tr class="even"><td class="entry"><a class="el" href="classcpp__redis_1_1logger.html#a36e0908e7b05850b663a4b8b9cdbc299">debug</a>(const std::string &amp;msg, const std::string &amp;file, std::size_t line)</td><td class="entry"><a class="el" href="classcpp__redis_1_1logger.html">cpp_redis::logger</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
79-
<tr><td class="entry"><a class="el" href="classcpp__redis_1_1logger.html#aaf7f2837511f4414a4d7b7b923ebc15e">error</a>(const std::string &amp;msg, const std::string &amp;file, std::size_t line)</td><td class="entry"><a class="el" href="classcpp__redis_1_1logger.html">cpp_redis::logger</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
80-
<tr class="even"><td class="entry"><a class="el" href="classcpp__redis_1_1logger.html#a04c741b5110946e76bb23728da6fb2ac">info</a>(const std::string &amp;msg, const std::string &amp;file, std::size_t line)</td><td class="entry"><a class="el" href="classcpp__redis_1_1logger.html">cpp_redis::logger</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
78+
<tr class="even"><td class="entry"><a class="el" href="classcpp__redis_1_1logger.html#a36e0908e7b05850b663a4b8b9cdbc299">debug</a>(const string_t &amp;msg, const string_t &amp;file, std::size_t line)</td><td class="entry"><a class="el" href="classcpp__redis_1_1logger.html">cpp_redis::logger</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
79+
<tr><td class="entry"><a class="el" href="classcpp__redis_1_1logger.html#aaf7f2837511f4414a4d7b7b923ebc15e">error</a>(const string_t &amp;msg, const string_t &amp;file, std::size_t line)</td><td class="entry"><a class="el" href="classcpp__redis_1_1logger.html">cpp_redis::logger</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
80+
<tr class="even"><td class="entry"><a class="el" href="classcpp__redis_1_1logger.html#a04c741b5110946e76bb23728da6fb2ac">info</a>(const string_t &amp;msg, const string_t &amp;file, std::size_t line)</td><td class="entry"><a class="el" href="classcpp__redis_1_1logger.html">cpp_redis::logger</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
8181
<tr><td class="entry"><a class="el" href="classcpp__redis_1_1logger.html#a9493594d547e7abe71b8690be1946c7a">log_level</a> enum m_name</td><td class="entry"><a class="el" href="classcpp__redis_1_1logger.html">cpp_redis::logger</a></td><td class="entry"></td></tr>
8282
<tr class="even"><td class="entry"><a class="el" href="classcpp__redis_1_1logger.html#a36b15a75690a087fca7d304852785512">logger</a>(log_level level=log_level::info)</td><td class="entry"><a class="el" href="classcpp__redis_1_1logger.html">cpp_redis::logger</a></td><td class="entry"></td></tr>
8383
<tr><td class="entry"><a class="el" href="classcpp__redis_1_1logger.html#aec0854d47a13f91e09db25e745a3d722">logger</a>(const logger &amp;)=default</td><td class="entry"><a class="el" href="classcpp__redis_1_1logger.html">cpp_redis::logger</a></td><td class="entry"></td></tr>
8484
<tr class="even"><td class="entry"><a class="el" href="classcpp__redis_1_1logger__iface.html#a902e41bf0777b960b6575e7ac986147b">logger_iface</a>(void)=default</td><td class="entry"><a class="el" href="classcpp__redis_1_1logger__iface.html">cpp_redis::logger_iface</a></td><td class="entry"></td></tr>
8585
<tr><td class="entry"><a class="el" href="classcpp__redis_1_1logger__iface.html#a7f1cb271b18e40f2dde7e45028e69a84">logger_iface</a>(const logger_iface &amp;)=default</td><td class="entry"><a class="el" href="classcpp__redis_1_1logger__iface.html">cpp_redis::logger_iface</a></td><td class="entry"></td></tr>
8686
<tr class="even"><td class="entry"><a class="el" href="classcpp__redis_1_1logger.html#a09d012d32f35421a16ec73143adc4415">operator=</a>(const logger &amp;)=default</td><td class="entry"><a class="el" href="classcpp__redis_1_1logger.html">cpp_redis::logger</a></td><td class="entry"></td></tr>
8787
<tr><td class="entry"><a class="el" href="classcpp__redis_1_1logger__iface.html#a04324701cb81ba6a23f73025b0b3eee0">cpp_redis::logger_iface::operator=</a>(const logger_iface &amp;)=default</td><td class="entry"><a class="el" href="classcpp__redis_1_1logger__iface.html">cpp_redis::logger_iface</a></td><td class="entry"></td></tr>
88-
<tr class="even"><td class="entry"><a class="el" href="classcpp__redis_1_1logger.html#ae9359429428786c7b5605a1109508ae5">warn</a>(const std::string &amp;msg, const std::string &amp;file, std::size_t line)</td><td class="entry"><a class="el" href="classcpp__redis_1_1logger.html">cpp_redis::logger</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
88+
<tr class="even"><td class="entry"><a class="el" href="classcpp__redis_1_1logger.html#ae9359429428786c7b5605a1109508ae5">warn</a>(const string_t &amp;msg, const string_t &amp;file, std::size_t line)</td><td class="entry"><a class="el" href="classcpp__redis_1_1logger.html">cpp_redis::logger</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
8989
<tr><td class="entry"><a class="el" href="classcpp__redis_1_1logger.html#ab5eb02b26c96a6e5cba9a7d30669f625">~logger</a>(void)=default</td><td class="entry"><a class="el" href="classcpp__redis_1_1logger.html">cpp_redis::logger</a></td><td class="entry"></td></tr>
9090
<tr class="even"><td class="entry"><a class="el" href="classcpp__redis_1_1logger__iface.html#ac7ed1b828afd2e6589fcdda167d34aa5">~logger_iface</a>(void)=default</td><td class="entry"><a class="el" href="classcpp__redis_1_1logger__iface.html">cpp_redis::logger_iface</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
9191
</table></div><!-- contents -->

docs/html/classcpp__redis_1_1logger.html

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -115,13 +115,13 @@
115115
<a class="el" href="classcpp__redis_1_1logger.html">logger</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcpp__redis_1_1logger.html#a09d012d32f35421a16ec73143adc4415">operator=</a> (const <a class="el" href="classcpp__redis_1_1logger.html">logger</a> &amp;)=default</td></tr>
116116
<tr class="memdesc:a09d012d32f35421a16ec73143adc4415"><td class="mdescLeft">&#160;</td><td class="mdescRight">assignment operator <br /></td></tr>
117117
<tr class="separator:a09d012d32f35421a16ec73143adc4415"><td class="memSeparator" colspan="2">&#160;</td></tr>
118-
<tr class="memitem:a36e0908e7b05850b663a4b8b9cdbc299"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcpp__redis_1_1logger.html#a36e0908e7b05850b663a4b8b9cdbc299">debug</a> (const std::string &amp;msg, const std::string &amp;file, std::size_t line)</td></tr>
118+
<tr class="memitem:a36e0908e7b05850b663a4b8b9cdbc299"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcpp__redis_1_1logger.html#a36e0908e7b05850b663a4b8b9cdbc299">debug</a> (const string_t &amp;msg, const string_t &amp;file, std::size_t line)</td></tr>
119119
<tr class="separator:a36e0908e7b05850b663a4b8b9cdbc299"><td class="memSeparator" colspan="2">&#160;</td></tr>
120-
<tr class="memitem:a04c741b5110946e76bb23728da6fb2ac"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcpp__redis_1_1logger.html#a04c741b5110946e76bb23728da6fb2ac">info</a> (const std::string &amp;msg, const std::string &amp;file, std::size_t line)</td></tr>
120+
<tr class="memitem:a04c741b5110946e76bb23728da6fb2ac"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcpp__redis_1_1logger.html#a04c741b5110946e76bb23728da6fb2ac">info</a> (const string_t &amp;msg, const string_t &amp;file, std::size_t line)</td></tr>
121121
<tr class="separator:a04c741b5110946e76bb23728da6fb2ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
122-
<tr class="memitem:ae9359429428786c7b5605a1109508ae5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcpp__redis_1_1logger.html#ae9359429428786c7b5605a1109508ae5">warn</a> (const std::string &amp;msg, const std::string &amp;file, std::size_t line)</td></tr>
122+
<tr class="memitem:ae9359429428786c7b5605a1109508ae5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcpp__redis_1_1logger.html#ae9359429428786c7b5605a1109508ae5">warn</a> (const string_t &amp;msg, const string_t &amp;file, std::size_t line)</td></tr>
123123
<tr class="separator:ae9359429428786c7b5605a1109508ae5"><td class="memSeparator" colspan="2">&#160;</td></tr>
124-
<tr class="memitem:aaf7f2837511f4414a4d7b7b923ebc15e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcpp__redis_1_1logger.html#aaf7f2837511f4414a4d7b7b923ebc15e">error</a> (const std::string &amp;msg, const std::string &amp;file, std::size_t line)</td></tr>
124+
<tr class="memitem:aaf7f2837511f4414a4d7b7b923ebc15e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcpp__redis_1_1logger.html#aaf7f2837511f4414a4d7b7b923ebc15e">error</a> (const string_t &amp;msg, const string_t &amp;file, std::size_t line)</td></tr>
125125
<tr class="separator:aaf7f2837511f4414a4d7b7b923ebc15e"><td class="memSeparator" colspan="2">&#160;</td></tr>
126126
<tr class="inherit_header pub_methods_classcpp__redis_1_1logger__iface"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classcpp__redis_1_1logger__iface')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classcpp__redis_1_1logger__iface.html">cpp_redis::logger_iface</a></td></tr>
127127
<tr class="memitem:a902e41bf0777b960b6575e7ac986147b inherit pub_methods_classcpp__redis_1_1logger__iface"><td class="memItemLeft" align="right" valign="top"><a id="a902e41bf0777b960b6575e7ac986147b"></a>
@@ -180,13 +180,13 @@ <h2 class="memtitle"><span class="permalink"><a href="#a36e0908e7b05850b663a4b8b
180180
<tr>
181181
<td class="memname">void cpp_redis::logger::debug </td>
182182
<td>(</td>
183-
<td class="paramtype">const std::string &amp;&#160;</td>
183+
<td class="paramtype">const string_t &amp;&#160;</td>
184184
<td class="paramname"><em>msg</em>, </td>
185185
</tr>
186186
<tr>
187187
<td class="paramkey"></td>
188188
<td></td>
189-
<td class="paramtype">const std::string &amp;&#160;</td>
189+
<td class="paramtype">const string_t &amp;&#160;</td>
190190
<td class="paramname"><em>file</em>, </td>
191191
</tr>
192192
<tr>
@@ -233,13 +233,13 @@ <h2 class="memtitle"><span class="permalink"><a href="#aaf7f2837511f4414a4d7b7b9
233233
<tr>
234234
<td class="memname">void cpp_redis::logger::error </td>
235235
<td>(</td>
236-
<td class="paramtype">const std::string &amp;&#160;</td>
236+
<td class="paramtype">const string_t &amp;&#160;</td>
237237
<td class="paramname"><em>msg</em>, </td>
238238
</tr>
239239
<tr>
240240
<td class="paramkey"></td>
241241
<td></td>
242-
<td class="paramtype">const std::string &amp;&#160;</td>
242+
<td class="paramtype">const string_t &amp;&#160;</td>
243243
<td class="paramname"><em>file</em>, </td>
244244
</tr>
245245
<tr>
@@ -286,13 +286,13 @@ <h2 class="memtitle"><span class="permalink"><a href="#a04c741b5110946e76bb23728
286286
<tr>
287287
<td class="memname">void cpp_redis::logger::info </td>
288288
<td>(</td>
289-
<td class="paramtype">const std::string &amp;&#160;</td>
289+
<td class="paramtype">const string_t &amp;&#160;</td>
290290
<td class="paramname"><em>msg</em>, </td>
291291
</tr>
292292
<tr>
293293
<td class="paramkey"></td>
294294
<td></td>
295-
<td class="paramtype">const std::string &amp;&#160;</td>
295+
<td class="paramtype">const string_t &amp;&#160;</td>
296296
<td class="paramname"><em>file</em>, </td>
297297
</tr>
298298
<tr>
@@ -339,13 +339,13 @@ <h2 class="memtitle"><span class="permalink"><a href="#ae9359429428786c7b5605a11
339339
<tr>
340340
<td class="memname">void cpp_redis::logger::warn </td>
341341
<td>(</td>
342-
<td class="paramtype">const std::string &amp;&#160;</td>
342+
<td class="paramtype">const string_t &amp;&#160;</td>
343343
<td class="paramname"><em>msg</em>, </td>
344344
</tr>
345345
<tr>
346346
<td class="paramkey"></td>
347347
<td></td>
348-
<td class="paramtype">const std::string &amp;&#160;</td>
348+
<td class="paramtype">const string_t &amp;&#160;</td>
349349
<td class="paramname"><em>file</em>, </td>
350350
</tr>
351351
<tr>

docs/html/classcpp__redis_1_1logger__iface-members.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -75,13 +75,13 @@
7575

7676
<p>This is the complete list of members for <a class="el" href="classcpp__redis_1_1logger__iface.html">cpp_redis::logger_iface</a>, including all inherited members.</p>
7777
<table class="directory">
78-
<tr class="even"><td class="entry"><a class="el" href="classcpp__redis_1_1logger__iface.html#aaace9e12cbb32d7bdd76c17180a30de7">debug</a>(const std::string &amp;msg, const std::string &amp;file, std::size_t line)=0</td><td class="entry"><a class="el" href="classcpp__redis_1_1logger__iface.html">cpp_redis::logger_iface</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
79-
<tr><td class="entry"><a class="el" href="classcpp__redis_1_1logger__iface.html#ac8353031252c80e69e35f5f131870ddf">error</a>(const std::string &amp;msg, const std::string &amp;file, std::size_t line)=0</td><td class="entry"><a class="el" href="classcpp__redis_1_1logger__iface.html">cpp_redis::logger_iface</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
80-
<tr class="even"><td class="entry"><a class="el" href="classcpp__redis_1_1logger__iface.html#a02e62f55d7da56efa3b47f2b05931b3b">info</a>(const std::string &amp;msg, const std::string &amp;file, std::size_t line)=0</td><td class="entry"><a class="el" href="classcpp__redis_1_1logger__iface.html">cpp_redis::logger_iface</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
78+
<tr class="even"><td class="entry"><a class="el" href="classcpp__redis_1_1logger__iface.html#aaace9e12cbb32d7bdd76c17180a30de7">debug</a>(const string_t &amp;msg, const string_t &amp;file, std::size_t line)=0</td><td class="entry"><a class="el" href="classcpp__redis_1_1logger__iface.html">cpp_redis::logger_iface</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
79+
<tr><td class="entry"><a class="el" href="classcpp__redis_1_1logger__iface.html#ac8353031252c80e69e35f5f131870ddf">error</a>(const string_t &amp;msg, const string_t &amp;file, std::size_t line)=0</td><td class="entry"><a class="el" href="classcpp__redis_1_1logger__iface.html">cpp_redis::logger_iface</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
80+
<tr class="even"><td class="entry"><a class="el" href="classcpp__redis_1_1logger__iface.html#a02e62f55d7da56efa3b47f2b05931b3b">info</a>(const string_t &amp;msg, const string_t &amp;file, std::size_t line)=0</td><td class="entry"><a class="el" href="classcpp__redis_1_1logger__iface.html">cpp_redis::logger_iface</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
8181
<tr><td class="entry"><a class="el" href="classcpp__redis_1_1logger__iface.html#a902e41bf0777b960b6575e7ac986147b">logger_iface</a>(void)=default</td><td class="entry"><a class="el" href="classcpp__redis_1_1logger__iface.html">cpp_redis::logger_iface</a></td><td class="entry"></td></tr>
8282
<tr class="even"><td class="entry"><a class="el" href="classcpp__redis_1_1logger__iface.html#a7f1cb271b18e40f2dde7e45028e69a84">logger_iface</a>(const logger_iface &amp;)=default</td><td class="entry"><a class="el" href="classcpp__redis_1_1logger__iface.html">cpp_redis::logger_iface</a></td><td class="entry"></td></tr>
8383
<tr><td class="entry"><a class="el" href="classcpp__redis_1_1logger__iface.html#a04324701cb81ba6a23f73025b0b3eee0">operator=</a>(const logger_iface &amp;)=default</td><td class="entry"><a class="el" href="classcpp__redis_1_1logger__iface.html">cpp_redis::logger_iface</a></td><td class="entry"></td></tr>
84-
<tr class="even"><td class="entry"><a class="el" href="classcpp__redis_1_1logger__iface.html#a0ea8e43a4f2118e77af56cd1cdb21cba">warn</a>(const std::string &amp;msg, const std::string &amp;file, std::size_t line)=0</td><td class="entry"><a class="el" href="classcpp__redis_1_1logger__iface.html">cpp_redis::logger_iface</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
84+
<tr class="even"><td class="entry"><a class="el" href="classcpp__redis_1_1logger__iface.html#a0ea8e43a4f2118e77af56cd1cdb21cba">warn</a>(const string_t &amp;msg, const string_t &amp;file, std::size_t line)=0</td><td class="entry"><a class="el" href="classcpp__redis_1_1logger__iface.html">cpp_redis::logger_iface</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
8585
<tr><td class="entry"><a class="el" href="classcpp__redis_1_1logger__iface.html#ac7ed1b828afd2e6589fcdda167d34aa5">~logger_iface</a>(void)=default</td><td class="entry"><a class="el" href="classcpp__redis_1_1logger__iface.html">cpp_redis::logger_iface</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
8686
</table></div><!-- contents -->
8787
<!-- start footer part -->

0 commit comments

Comments
 (0)