Current Path: > > usr > include
Operation : Linux premium131.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64 Software : Apache Server IP : 162.0.232.56 | Your IP: 216.73.216.111 Domains : 1034 Domain(s) Permission : [ 0755 ]
Name | Type | Size | Last Modified | Actions |
---|---|---|---|---|
GL | Directory | - | - | |
X11 | Directory | - | - | |
apache2 | Directory | - | - | |
arpa | Directory | - | - | |
asm | Directory | - | - | |
asm-generic | Directory | - | - | |
bind9 | Directory | - | - | |
bits | Directory | - | - | |
bsock | Directory | - | - | |
c++ | Directory | - | - | |
criu | Directory | - | - | |
curl | Directory | - | - | |
drm | Directory | - | - | |
e2p | Directory | - | - | |
et | Directory | - | - | |
event2 | Directory | - | - | |
ext2fs | Directory | - | - | |
finclude | Directory | - | - | |
fontconfig | Directory | - | - | |
freetype2 | Directory | - | - | |
fstrm | Directory | - | - | |
gdb | Directory | - | - | |
gdbm | Directory | - | - | |
gnu | Directory | - | - | |
Directory | - | - | ||
gssapi | Directory | - | - | |
gssrpc | Directory | - | - | |
json-c | Directory | - | - | |
kadm5 | Directory | - | - | |
krb5 | Directory | - | - | |
libdb | Directory | - | - | |
libexslt | Directory | - | - | |
libltdl | Directory | - | - | |
libpng16 | Directory | - | - | |
libxml2 | Directory | - | - | |
libxslt | Directory | - | - | |
linux | Directory | - | - | |
lua-5.1 | Directory | - | - | |
lzma | Directory | - | - | |
misc | Directory | - | - | |
mtd | Directory | - | - | |
mysql | Directory | - | - | |
ncurses | Directory | - | - | |
ncursesw | Directory | - | - | |
net | Directory | - | - | |
netash | Directory | - | - | |
netatalk | Directory | - | - | |
netax25 | Directory | - | - | |
neteconet | Directory | - | - | |
netinet | Directory | - | - | |
netipx | Directory | - | - | |
netiucv | Directory | - | - | |
netpacket | Directory | - | - | |
netrom | Directory | - | - | |
netrose | Directory | - | - | |
nfs | Directory | - | - | |
openssl | Directory | - | - | |
perf | Directory | - | - | |
protobuf-c | Directory | - | - | |
protocols | Directory | - | - | |
python2.7 | Directory | - | - | |
python3.6m | Directory | - | - | |
python3.8 | Directory | - | - | |
rdma | Directory | - | - | |
rpc | Directory | - | - | |
sasl | Directory | - | - | |
scsi | Directory | - | - | |
security | Directory | - | - | |
selinux | Directory | - | - | |
sepol | Directory | - | - | |
sound | Directory | - | - | |
sys | Directory | - | - | |
uuid | Directory | - | - | |
video | Directory | - | - | |
webp | Directory | - | - | |
xcb | Directory | - | - | |
xen | Directory | - | - | |
FlexLexer.h | File | 6893 bytes | October 12 2019 12:33:17. | |
a.out.h | File | 4350 bytes | June 09 2025 20:25:26. | |
aio.h | File | 7456 bytes | June 09 2025 20:25:38. | |
aliases.h | File | 2031 bytes | June 09 2025 20:25:38. | |
alloca.h | File | 1203 bytes | June 09 2025 20:25:24. | |
ar.h | File | 1730 bytes | June 09 2025 20:25:26. | |
argp.h | File | 25414 bytes | June 09 2025 20:25:38. | |
argz.h | File | 6050 bytes | June 09 2025 20:25:25. | |
assert.h | File | 4561 bytes | June 09 2025 20:25:22. | |
autosprintf.h | File | 2383 bytes | November 18 2019 17:16:51. | |
byteswap.h | File | 1404 bytes | June 09 2025 20:25:25. | |
bzlib.h | File | 6245 bytes | September 10 2010 23:08:42. | |
com_err.h | File | 2118 bytes | March 21 2020 04:24:04. | |
complex.h | File | 7163 bytes | June 09 2025 20:25:23. | |
cpio.h | File | 2267 bytes | June 09 2025 20:25:25. | |
cpuidle.h | File | 844 bytes | July 04 2025 12:30:10. | |
crypt.h | File | 9118 bytes | October 09 2021 04:04:04. | |
ctype.h | File | 10963 bytes | June 09 2025 20:25:22. | |
curses.h | File | 99625 bytes | October 14 2023 18:54:42. | |
cursesapp.h | File | 6775 bytes | October 14 2023 18:54:42. | |
cursesf.h | File | 27849 bytes | October 14 2023 18:54:42. | |
cursesm.h | File | 19677 bytes | October 14 2023 18:54:42. | |
cursesp.h | File | 8601 bytes | October 14 2023 18:54:42. | |
cursesw.h | File | 49719 bytes | October 14 2023 18:54:42. | |
cursslk.h | File | 7304 bytes | October 14 2023 18:54:42. | |
db.h | File | 123105 bytes | September 21 2021 16:29:14. | |
db_185.h | File | 5983 bytes | September 21 2021 16:29:14. | |
dbm.h | File | 1414 bytes | October 08 2022 13:22:08. | |
dirent.h | File | 12484 bytes | June 09 2025 20:25:25. | |
dlfcn.h | File | 7238 bytes | June 09 2025 20:25:24. | |
elf.h | File | 174828 bytes | June 09 2025 20:25:40. | |
endian.h | File | 3189 bytes | June 09 2025 20:25:25. | |
entities.h | File | 4930 bytes | August 30 2017 11:05:54. | |
envz.h | File | 2866 bytes | June 09 2025 20:25:25. | |
err.h | File | 2209 bytes | June 09 2025 20:25:26. | |
errno.h | File | 1678 bytes | June 09 2025 20:25:24. | |
error.h | File | 2039 bytes | June 09 2025 20:25:26. | |
eti.h | File | 2891 bytes | October 14 2023 18:54:42. | |
etip.h | File | 9702 bytes | October 14 2023 18:54:42. | |
evdns.h | File | 2019 bytes | October 12 2019 00:29:31. | |
event.h | File | 2744 bytes | October 12 2019 00:29:31. | |
evhttp.h | File | 2035 bytes | October 12 2019 00:29:31. | |
evrpc.h | File | 2015 bytes | October 12 2019 00:29:31. | |
evutil.h | File | 1782 bytes | October 12 2019 00:29:31. | |
execinfo.h | File | 1522 bytes | June 09 2025 20:25:38. | |
expat.h | File | 43680 bytes | April 15 2025 19:58:56. | |
expat_config.h | File | 3517 bytes | April 15 2025 19:58:56. | |
expat_external.h | File | 5532 bytes | April 15 2025 19:58:56. | |
fcntl.h | File | 10958 bytes | June 09 2025 20:25:26. | |
features.h | File | 16062 bytes | June 09 2025 20:25:19. | |
fenv.h | File | 5857 bytes | June 09 2025 20:25:23. | |
fmtmsg.h | File | 3239 bytes | June 09 2025 20:25:24. | |
fnmatch.h | File | 2295 bytes | June 09 2025 20:25:25. | |
form.h | File | 18601 bytes | October 14 2023 18:54:42. | |
fpu_control.h | File | 3583 bytes | June 09 2025 20:25:23. | |
fstab.h | File | 3111 bytes | June 09 2025 20:25:26. | |
fstrm.h | File | 13017 bytes | March 11 2019 20:58:34. | |
fts.h | File | 8372 bytes | June 09 2025 20:25:26. | |
ftw.h | File | 5251 bytes | June 09 2025 20:25:26. | |
gconv.h | File | 4410 bytes | June 09 2025 20:25:19. | |
gcrypt.h | File | 70361 bytes | June 28 2022 11:54:07. | |
gd.h | File | 57777 bytes | August 30 2017 11:05:54. | |
gd_color_map.h | File | 478 bytes | August 30 2017 11:05:54. | |
gd_errors.h | File | 1503 bytes | August 30 2017 11:05:54. | |
gd_io.h | File | 3125 bytes | August 30 2017 11:05:54. | |
gdbm.h | File | 10345 bytes | October 08 2022 13:22:07. | |
gdcache.h | File | 2898 bytes | August 30 2017 11:05:54. | |
gdfontg.h | File | 553 bytes | August 30 2017 11:05:54. | |
gdfontl.h | File | 551 bytes | August 30 2017 11:05:54. | |
gdfontmb.h | File | 519 bytes | August 30 2017 11:05:54. | |
gdfonts.h | File | 515 bytes | August 30 2017 11:05:54. | |
gdfontt.h | File | 546 bytes | August 30 2017 11:05:54. | |
gdfx.h | File | 497 bytes | August 30 2017 11:05:54. | |
gdpp.h | File | 52162 bytes | August 30 2017 11:05:54. | |
getopt.h | File | 1468 bytes | June 09 2025 20:25:25. | |
gettext-po.h | File | 15534 bytes | November 18 2019 17:17:03. | |
glob.h | File | 6614 bytes | June 09 2025 20:25:25. | |
gnu-versions.h | File | 2342 bytes | June 09 2025 20:25:19. | |
gnumake.h | File | 2912 bytes | April 18 2022 16:38:33. | |
gpg-error.h | File | 67879 bytes | October 12 2019 12:20:46. | |
gpgrt.h | File | 67879 bytes | October 12 2019 12:20:46. | |
grp.h | File | 6686 bytes | June 09 2025 20:25:25. | |
gshadow.h | File | 4528 bytes | June 09 2025 20:25:37. | |
gssapi.h | File | 181 bytes | June 03 2025 02:06:27. | |
iconv.h | File | 1857 bytes | June 09 2025 20:25:19. | |
idn-free.h | File | 2472 bytes | October 13 2019 16:55:34. | |
idn-int.h | File | 20 bytes | October 13 2019 16:55:34. | |
idna.h | File | 3564 bytes | October 13 2019 16:55:34. | |
ieee754.h | File | 4910 bytes | June 09 2025 20:25:23. | |
ifaddrs.h | File | 2840 bytes | June 09 2025 20:25:38. | |
inttypes.h | File | 11892 bytes | June 09 2025 20:25:24. | |
jconfig-64.h | File | 2225 bytes | May 14 2025 12:43:01. | |
jconfig.h | File | 246 bytes | May 14 2025 12:43:01. | |
jerror.h | File | 15088 bytes | May 14 2025 12:43:01. | |
jmorecfg.h | File | 15049 bytes | May 14 2025 12:43:01. | |
jpegint.h | File | 15586 bytes | May 14 2025 12:43:01. | |
jpeglib.h | File | 49875 bytes | May 14 2025 12:43:01. | |
kdb.h | File | 69285 bytes | June 03 2025 02:06:27. | |
keyutils.h | File | 7698 bytes | October 08 2021 13:50:54. | |
krad.h | File | 8933 bytes | June 03 2025 02:06:27. | |
krb5.h | File | 402 bytes | June 03 2025 02:06:27. | |
langinfo.h | File | 17848 bytes | June 09 2025 20:25:19. | |
lastlog.h | File | 126 bytes | June 09 2025 20:25:40. | |
lber.h | File | 15311 bytes | March 11 2025 09:44:02. | |
lber_types.h | File | 1468 bytes | March 11 2025 09:44:02. | |
ldap.h | File | 65096 bytes | March 11 2025 09:44:02. | |
ldap_cdefs.h | File | 9466 bytes | March 11 2025 09:44:02. | |
ldap_features.h | File | 1814 bytes | March 11 2025 09:44:03. | |
ldap_schema.h | File | 9450 bytes | March 11 2025 09:44:02. | |
ldap_utf8.h | File | 3468 bytes | March 11 2025 09:44:02. | |
ldif.h | File | 4692 bytes | March 11 2025 09:44:03. | |
libaio.h | File | 8937 bytes | November 13 2019 13:59:49. | |
libgen.h | File | 1385 bytes | June 09 2025 20:25:26. | |
libintl.h | File | 4579 bytes | June 09 2025 20:25:22. | |
limits.h | File | 5412 bytes | June 09 2025 20:25:19. | |
link.h | File | 7218 bytes | June 09 2025 20:25:40. | |
locale.h | File | 7674 bytes | June 09 2025 20:25:19. | |
ltdl.h | File | 5709 bytes | October 11 2019 14:55:29. | |
lzma.h | File | 9817 bytes | April 29 2018 15:10:38. | |
magic.h | File | 5588 bytes | April 06 2024 14:44:54. | |
malloc.h | File | 6102 bytes | June 09 2025 20:25:25. | |
math.h | File | 53318 bytes | June 09 2025 20:25:23. | |
mcheck.h | File | 2434 bytes | June 09 2025 20:25:25. | |
memory.h | File | 955 bytes | June 09 2025 20:25:25. | |
menu.h | File | 12197 bytes | October 14 2023 18:54:42. | |
mntent.h | File | 3358 bytes | June 09 2025 20:25:26. | |
monetary.h | File | 1803 bytes | June 09 2025 20:25:24. | |
mqueue.h | File | 3759 bytes | June 09 2025 20:25:38. | |
nc_tparm.h | File | 4197 bytes | October 14 2023 18:54:42. | |
ncurses.h | File | 99625 bytes | October 14 2023 18:54:42. | |
ncurses_dll.h | File | 4277 bytes | October 14 2023 18:54:42. | |
ndbm.h | File | 2454 bytes | October 08 2022 13:22:08. | |
netdb.h | File | 28099 bytes | June 09 2025 20:25:39. | |
nl_types.h | File | 1752 bytes | June 09 2025 20:25:23. | |
nss.h | File | 1878 bytes | June 09 2025 20:25:39. | |
obstack.h | File | 21306 bytes | June 09 2025 20:25:25. | |
panel.h | File | 4123 bytes | October 14 2023 18:54:42. | |
paths.h | File | 2977 bytes | June 09 2025 20:25:26. | |
pcre.h | File | 31718 bytes | October 08 2021 19:17:42. | |
pcre2.h | File | 44802 bytes | August 02 2022 16:07:28. | |
pcre2posix.h | File | 5804 bytes | August 02 2022 16:07:28. | |
pcre_scanner.h | File | 6600 bytes | October 08 2021 19:17:42. | |
pcre_stringpiece.h | File | 6312 bytes | October 08 2021 19:17:42. | |
pcrecpp.h | File | 26529 bytes | October 08 2021 19:17:42. | |
pcrecpparg.h | File | 6783 bytes | October 08 2021 19:17:42. | |
pcreposix.h | File | 5452 bytes | October 08 2021 19:17:42. | |
png.h | File | 144149 bytes | October 12 2019 00:44:13. | |
pngconf.h | File | 22845 bytes | October 12 2019 00:44:13. | |
pnglibconf.h | File | 7567 bytes | October 12 2019 00:44:13. | |
poll.h | File | 22 bytes | June 09 2025 20:25:26. | |
pr29.h | File | 2123 bytes | October 13 2019 16:55:34. | |
printf.h | File | 6800 bytes | June 09 2025 20:25:24. | |
proc_service.h | File | 3476 bytes | June 09 2025 20:25:38. | |
profile.h | File | 12154 bytes | June 03 2025 02:06:27. | |
pthread.h | File | 41269 bytes | June 09 2025 20:25:25. | |
pty.h | File | 1569 bytes | June 09 2025 20:25:40. | |
punycode.h | File | 9384 bytes | October 13 2019 16:55:34. | |
pwd.h | File | 6158 bytes | June 09 2025 20:25:25. | |
re_comp.h | File | 962 bytes | June 09 2025 20:25:25. | |
regex.h | File | 24715 bytes | June 09 2025 20:25:25. | |
regexp.h | File | 1447 bytes | June 09 2025 20:25:26. | |
resolv.h | File | 12077 bytes | June 09 2025 20:25:39. | |
sched.h | File | 4732 bytes | June 09 2025 20:25:25. | |
search.h | File | 5223 bytes | June 09 2025 20:25:26. | |
semaphore.h | File | 2399 bytes | June 09 2025 20:25:25. | |
setjmp.h | File | 3669 bytes | June 09 2025 20:25:24. | |
sgtty.h | File | 1343 bytes | June 09 2025 20:25:26. | |
shadow.h | File | 5471 bytes | June 09 2025 20:25:37. | |
signal.h | File | 12243 bytes | June 09 2025 20:25:24. | |
slapi-plugin.h | File | 38351 bytes | March 11 2025 09:44:03. | |
spawn.h | File | 6690 bytes | June 09 2025 20:25:25. | |
stab.h | File | 264 bytes | June 09 2025 20:25:26. | |
stdc-predef.h | File | 2289 bytes | June 09 2025 20:25:19. | |
stdint.h | File | 8469 bytes | June 09 2025 20:25:24. | |
stdio.h | File | 30168 bytes | June 09 2025 20:25:24. | |
stdio_ext.h | File | 2799 bytes | June 09 2025 20:25:24. | |
stdlib.h | File | 35653 bytes | June 09 2025 20:25:24. | |
string.h | File | 17587 bytes | June 09 2025 20:25:25. | |
stringprep.h | File | 8227 bytes | October 13 2019 16:55:34. | |
strings.h | File | 4752 bytes | June 09 2025 20:25:25. | |
syscall.h | File | 25 bytes | June 09 2025 20:25:26. | |
sysexits.h | File | 5232 bytes | June 09 2025 20:25:26. | |
syslog.h | File | 24 bytes | June 09 2025 20:25:26. | |
tar.h | File | 3785 bytes | June 09 2025 20:25:25. | |
term.h | File | 41190 bytes | October 14 2023 18:54:42. | |
term_entry.h | File | 8760 bytes | October 14 2023 18:54:42. | |
termcap.h | File | 3473 bytes | October 14 2023 18:54:42. | |
termio.h | File | 214 bytes | June 09 2025 20:25:26. | |
termios.h | File | 3598 bytes | June 09 2025 20:25:26. | |
tgmath.h | File | 31489 bytes | June 09 2025 20:25:23. | |
thread_db.h | File | 16023 bytes | June 09 2025 20:25:38. | |
threads.h | File | 6655 bytes | June 09 2025 20:25:25. | |
tic.h | File | 13638 bytes | October 14 2023 18:54:42. | |
tiff.h | File | 35983 bytes | May 07 2025 13:34:34. | |
tiffconf-64.h | File | 3429 bytes | May 07 2025 13:34:34. | |
tiffconf.h | File | 250 bytes | May 07 2025 13:34:35. | |
tiffio.h | File | 23227 bytes | May 07 2025 13:34:34. | |
tiffio.hxx | File | 1702 bytes | May 07 2025 13:34:34. | |
tiffvers.h | File | 410 bytes | May 07 2025 13:34:34. | |
time.h | File | 10360 bytes | June 09 2025 20:25:25. | |
tld.h | File | 4650 bytes | October 13 2019 16:55:34. | |
ttyent.h | File | 2494 bytes | June 09 2025 20:25:26. | |
uchar.h | File | 2001 bytes | June 09 2025 20:25:25. | |
ucontext.h | File | 2036 bytes | June 09 2025 20:25:24. | |
ulimit.h | File | 1583 bytes | June 09 2025 20:25:26. | |
unctrl.h | File | 3099 bytes | October 14 2023 18:54:42. | |
unistd.h | File | 42738 bytes | June 09 2025 20:25:25. | |
utime.h | File | 1501 bytes | June 09 2025 20:25:26. | |
utmp.h | File | 3222 bytes | June 09 2025 20:25:40. | |
utmpx.h | File | 4099 bytes | June 09 2025 20:25:40. | |
values.h | File | 1955 bytes | June 09 2025 20:25:19. | |
verto-module.h | File | 6640 bytes | October 08 2022 07:49:42. | |
verto.h | File | 19437 bytes | October 08 2022 07:49:42. | |
wait.h | File | 22 bytes | June 09 2025 20:25:25. | |
wchar.h | File | 31111 bytes | June 09 2025 20:25:25. | |
wctype.h | File | 5548 bytes | June 09 2025 20:25:26. | |
wordexp.h | File | 2501 bytes | June 09 2025 20:25:25. | |
zconf.h | File | 16262 bytes | October 11 2023 22:02:25. | |
zlib.h | File | 96261 bytes | October 11 2023 22:02:25. |
// Copyright (c) 2005, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are // met: // // * Redistributions of source code must retain the above copyright // notice, this list of conditions and the following disclaimer. // * Redistributions in binary form must reproduce the above // copyright notice, this list of conditions and the following disclaimer // in the documentation and/or other materials provided with the // distribution. // * Neither the name of Google Inc. nor the names of its // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // // Author: Sanjay Ghemawat // // A string like object that points into another piece of memory. // Useful for providing an interface that allows clients to easily // pass in either a "const char*" or a "string". // // Arghh! I wish C++ literals were automatically of type "string". #ifndef _PCRE_STRINGPIECE_H #define _PCRE_STRINGPIECE_H #include <cstring> #include <string> #include <iosfwd> // for ostream forward-declaration #if 0 #define HAVE_TYPE_TRAITS #include <type_traits.h> #elif 0 #define HAVE_TYPE_TRAITS #include <bits/type_traits.h> #endif #include <pcre.h> namespace pcrecpp { using std::memcmp; using std::strlen; using std::string; class PCRECPP_EXP_DEFN StringPiece { private: const char* ptr_; int length_; public: // We provide non-explicit singleton constructors so users can pass // in a "const char*" or a "string" wherever a "StringPiece" is // expected. StringPiece() : ptr_(NULL), length_(0) { } StringPiece(const char* str) : ptr_(str), length_(static_cast<int>(strlen(ptr_))) { } StringPiece(const unsigned char* str) : ptr_(reinterpret_cast<const char*>(str)), length_(static_cast<int>(strlen(ptr_))) { } StringPiece(const string& str) : ptr_(str.data()), length_(static_cast<int>(str.size())) { } StringPiece(const char* offset, int len) : ptr_(offset), length_(len) { } // data() may return a pointer to a buffer with embedded NULs, and the // returned buffer may or may not be null terminated. Therefore it is // typically a mistake to pass data() to a routine that expects a NUL // terminated string. Use "as_string().c_str()" if you really need to do // this. Or better yet, change your routine so it does not rely on NUL // termination. const char* data() const { return ptr_; } int size() const { return length_; } bool empty() const { return length_ == 0; } void clear() { ptr_ = NULL; length_ = 0; } void set(const char* buffer, int len) { ptr_ = buffer; length_ = len; } void set(const char* str) { ptr_ = str; length_ = static_cast<int>(strlen(str)); } void set(const void* buffer, int len) { ptr_ = reinterpret_cast<const char*>(buffer); length_ = len; } char operator[](int i) const { return ptr_[i]; } void remove_prefix(int n) { ptr_ += n; length_ -= n; } void remove_suffix(int n) { length_ -= n; } bool operator==(const StringPiece& x) const { return ((length_ == x.length_) && (memcmp(ptr_, x.ptr_, length_) == 0)); } bool operator!=(const StringPiece& x) const { return !(*this == x); } #define STRINGPIECE_BINARY_PREDICATE(cmp,auxcmp) \ bool operator cmp (const StringPiece& x) const { \ int r = memcmp(ptr_, x.ptr_, length_ < x.length_ ? length_ : x.length_); \ return ((r auxcmp 0) || ((r == 0) && (length_ cmp x.length_))); \ } STRINGPIECE_BINARY_PREDICATE(<, <); STRINGPIECE_BINARY_PREDICATE(<=, <); STRINGPIECE_BINARY_PREDICATE(>=, >); STRINGPIECE_BINARY_PREDICATE(>, >); #undef STRINGPIECE_BINARY_PREDICATE int compare(const StringPiece& x) const { int r = memcmp(ptr_, x.ptr_, length_ < x.length_ ? length_ : x.length_); if (r == 0) { if (length_ < x.length_) r = -1; else if (length_ > x.length_) r = +1; } return r; } string as_string() const { return string(data(), size()); } void CopyToString(string* target) const { target->assign(ptr_, length_); } // Does "this" start with "x" bool starts_with(const StringPiece& x) const { return ((length_ >= x.length_) && (memcmp(ptr_, x.ptr_, x.length_) == 0)); } }; } // namespace pcrecpp // ------------------------------------------------------------------ // Functions used to create STL containers that use StringPiece // Remember that a StringPiece's lifetime had better be less than // that of the underlying string or char*. If it is not, then you // cannot safely store a StringPiece into an STL container // ------------------------------------------------------------------ #ifdef HAVE_TYPE_TRAITS // This makes vector<StringPiece> really fast for some STL implementations template<> struct __type_traits<pcrecpp::StringPiece> { typedef __true_type has_trivial_default_constructor; typedef __true_type has_trivial_copy_constructor; typedef __true_type has_trivial_assignment_operator; typedef __true_type has_trivial_destructor; typedef __true_type is_POD_type; }; #endif // allow StringPiece to be logged PCRECPP_EXP_DECL std::ostream& operator<<(std::ostream& o, const pcrecpp::StringPiece& piece); #endif /* _PCRE_STRINGPIECE_H */
SILENT KILLER Tool