Kyoto Cabinet
Classes | Typedefs | Functions | Variables
kyotocabinet Namespace Reference

All symbols of Kyoto Cabinet. More...

Classes

class  CacheDB
 On-memory hash database with LRU deletion. More...
class  Comparator
 Interfrace of comparator of record keys. More...
class  LexicalComparator
 Comparator in the lexical order. More...
class  LexicalDescendingComparator
 Comparator in the lexical descending order. More...
class  DecimalComparator
 Comparator in the decimal order. More...
class  DecimalDescendingComparator
 Comparator in the decimal descending order. More...
class  Compressor
 Interfrace of data compression and decompression. More...
class  ZLIB
 ZLIB compressor. More...
class  LZO
 LZO compressor. More...
class  LZMA
 LZMA compressor. More...
class  ZLIBCompressor
 Compressor with ZLIB. More...
class  LZOCompressor
 Compressor with LZO. More...
class  LZMACompressor
 Compressor with LZMA. More...
class  ArcfourCompressor
 Compressor with the Arcfour cipher. More...
class  DB
 Interface of database abstraction. More...
class  BasicDB
 Basic implementation of database. More...
class  MapReduce
 MapReduce framework. More...
class  IndexDB
 Index database. More...
class  DirDB
 Directory hash database. More...
class  File
 Filesystem abstraction. More...
class  DirStream
 Directory stream abstraction. More...
class  HashDB
 File hash database. More...
class  LinkedHashMap
 Doubly-linked hash map. More...
class  TinyHashMap
 Memory-saving string hash map. More...
class  TinyArrayList
 Memory-saving string array list. More...
class  PlantDB
 Plant database. More...
class  PolyDB
 Polymorphic database. More...
class  ProtoDB
 Prototype implementation of database with STL. More...
class  Regex
 Regular expression. More...
class  StashDB
 Economical on-memory hash database. More...
class  TextDB
 Plain text database. More...
class  Thread
 Threading device. More...
class  Mutex
 Basic mutual exclusion device. More...
class  ScopedMutex
 Scoped mutex device. More...
class  SlottedMutex
 Slotted mutex device. More...
class  SpinLock
 Lightweight mutual exclusion device. More...
class  ScopedSpinLock
 Scoped spin lock device. More...
class  SlottedSpinLock
 Slotted spin lock devices. More...
class  RWLock
 Reader-writer locking device. More...
class  ScopedRWLock
 Scoped reader-writer locking device. More...
class  SlottedRWLock
 Slotted reader-writer lock devices. More...
class  SpinRWLock
 Lightweight reader-writer locking device. More...
class  ScopedSpinRWLock
 Scoped reader-writer locking device. More...
class  SlottedSpinRWLock
 Slotted lightweight reader-writer lock devices. More...
class  CondVar
 Condition variable. More...
class  CondMap
 Assosiative condition variable. More...
class  TSDKey
 Key of thread specific data. More...
class  TSD
 Smart pointer to thread specific data. More...
class  AtomicInt64
 Integer with atomic operations. More...
class  TaskQueue
 Task queue device. More...

Typedefs

typedef PlantDB< CacheDB,
BasicDB::TYPEGRASS
GrassDB
 An alias of the cache tree database.
typedef PlantDB< DirDB,
BasicDB::TYPEFOREST
ForestDB
 An alias of the directory tree database.
typedef PlantDB< HashDB,
BasicDB::TYPETREE
TreeDB
 An alias of the file tree database.
typedef ProtoDB< StringHashMap,
BasicDB::TYPEPHASH
ProtoHashDB
 An alias of the prototype hash database.
typedef ProtoDB< StringTreeMap,
BasicDB::TYPEPTREE
ProtoTreeDB
 An alias of the prototype tree database.
typedef std::unordered_map
< std::string, std::string > 
StringHashMap
 An alias of hash map of strings.
typedef std::map< std::string,
std::string > 
StringTreeMap
 An alias of tree map of strings.

Functions

int64_t atoi (const char *str)
 Convert a decimal string to an integer.
int64_t atoix (const char *str)
 Convert a decimal string with a metric prefix to an integer.
int64_t atoih (const char *str)
 Convert a hexadecimal string to an integer.
int64_t atoin (const char *ptr, size_t size)
 Convert a decimal byte array to an integer.
double atof (const char *str)
 Convert a decimal string to a real number.
double atofn (const char *ptr, size_t size)
 Convert a decimal byte array to a real number.
uint16_t hton16 (uint16_t num)
 Normalize a 16-bit number in the native order into the network byte order.
uint32_t hton32 (uint32_t num)
 Normalize a 32-bit number in the native order into the network byte order.
uint64_t hton64 (uint64_t num)
 Normalize a 64-bit number in the native order into the network byte order.
uint16_t ntoh16 (uint16_t num)
 Denormalize a 16-bit number in the network byte order into the native order.
uint32_t ntoh32 (uint32_t num)
 Denormalize a 32-bit number in the network byte order into the native order.
uint64_t ntoh64 (uint64_t num)
 Denormalize a 64-bit number in the network byte order into the native order.
void writefixnum (void *buf, uint64_t num, size_t width)
 Write a number in fixed length format into a buffer.
uint64_t readfixnum (const void *buf, size_t width)
 Read a number in fixed length format from a buffer.
size_t writevarnum (void *buf, uint64_t num)
 Write a number in variable length format into a buffer.
size_t readvarnum (const void *buf, size_t size, uint64_t *np)
 Read a number in variable length format from a buffer.
size_t sizevarnum (uint64_t num)
 Check the size of variable length format of a number.
uint64_t hashmurmur (const void *buf, size_t size)
 Get the hash value by MurMur hashing.
uint64_t hashfnv (const void *buf, size_t size)
 Get the hash value by FNV hashing.
uint32_t hashpath (const void *buf, size_t size, char *obuf)
 Get the hash value suitable for a file name.
uint64_t nearbyprime (uint64_t num)
 Get a prime number nearby a number.
double nan ()
 Get the quiet Not-a-Number value.
double inf ()
 Get the positive infinity value.
bool chknan (double num)
 Check a number is a Not-a-Number value.
bool chkinf (double num)
 Check a number is an infinity value.
void vstrprintf (std::string *dest, const char *format, va_list ap)
 Append a formatted string at the end of a string.
void strprintf (std::string *dest, const char *format,...)
 Append a formatted string at the end of a string.
std::string strprintf (const char *format,...)
 Generate a formatted string.
size_t strsplit (const std::string &str, char delim, std::vector< std::string > *elems)
 Split a string with a delimiter.
size_t strsplit (const std::string &str, const std::string &delims, std::vector< std::string > *elems)
 Split a string with delimiters.
std::string * strtoupper (std::string *str)
 Convert the letters of a string into upper case.
std::string * strtolower (std::string *str)
 Convert the letters of a string into lower case.
bool strfwm (const std::string &str, const std::string &key)
 Check whether a string begins with a key.
bool strbwm (const std::string &str, const std::string &key)
 Check whether a string ends with a key.
std::string * strtrim (std::string *str)
 Cut space characters at head or tail of a string.
void strutftoucs (const std::string &src, std::vector< uint32_t > *dest)
 Convert a UTF-8 string into a UCS-4 array.
void strucstoutf (const std::vector< uint32_t > &src, std::string *dest)
 Convert a UCS-4 array into a UTF-8 string.
void strvecdump (const std::vector< std::string > &src, std::string *dest)
 Serialize a string vector object into a string object.
void strvecload (const std::string &src, std::vector< std::string > *dest)
 Deserialize a string object into a string vector object.
void strmapdump (const std::map< std::string, std::string > &src, std::string *dest)
 Serialize a string vector object into a string object.
void strmapload (const std::string &src, std::map< std::string, std::string > *dest)
 Deserialize a string object into a string map object.
char * hexencode (const void *buf, size_t size)
 Encode a serial object by hexadecimal encoding.
char * hexdecode (const char *str, size_t *sp)
 Decode a string encoded by hexadecimal encoding.
char * urlencode (const void *buf, size_t size)
 Encode a serial object by URL encoding.
char * urldecode (const char *str, size_t *sp)
 Decode a string encoded by URL encoding.
char * quoteencode (const void *buf, size_t size)
 Encode a serial object by Quoted-printable encoding.
char * quotedecode (const char *str, size_t *sp)
 Decode a string encoded by Quoted-printable encoding.
char * baseencode (const void *buf, size_t size)
 Encode a serial object by Base64 encoding.
char * basedecode (const char *str, size_t *sp)
 Decode a string encoded by Base64 encoding.
void arccipher (const void *ptr, size_t size, const void *kbuf, size_t ksiz, void *obuf)
 Cipher or decipher a serial object with the Arcfour stream cipher.
char * memdup (const char *ptr, size_t size)
 Duplicate a region on memory.
int32_t memicmp (const void *abuf, const void *bbuf, size_t size)
 Compare two regions by case insensitive evaluation.
void * memmem (const void *hbuf, size_t hsiz, const void *nbuf, size_t nsiz)
 Find the first occurrence of a sub pattern.
void * memimem (const void *hbuf, size_t hsiz, const void *nbuf, size_t nsiz)
 Find the first occurrence of a sub pattern by case insensitive evaluation.
size_t memdist (const void *abuf, size_t asiz, const void *bbuf, size_t bsiz)
 Calculate the levenshtein distance of two regions in bytes.
char * strdup (const char *str)
 Duplicate a string on memory.
char * strtoupper (char *str)
 Convert the letters of a string into upper case.
char * strtolower (char *str)
 Convert the letters of a string into lower case.
char * strtrim (char *str)
 Cut space characters at head or tail of a string.
char * strsqzspc (char *str)
 Squeeze space characters in a string and trim it.
char * strnrmspc (char *str)
 Normalize space characters in a string and trim it.
int32_t stricmp (const char *astr, const char *bstr)
 Compare two strings by case insensitive evaluation.
char * stristr (const char *hstr, const char *nstr)
 Find the first occurrence of a substring by case insensitive evaluation.
bool strfwm (const char *str, const char *key)
 Check whether a string begins with a key.
bool strifwm (const char *str, const char *key)
 Check whether a string begins with a key by case insensitive evaluation.
bool strbwm (const char *str, const char *key)
 Check whether a string ends with a key.
bool stribwm (const char *str, const char *key)
 Check whether a string ends with a key by case insensitive evaluation.
size_t strutflen (const char *str)
 Get the number of characters in a UTF-8 string.
void strutftoucs (const char *src, uint32_t *dest, size_t *np)
 Convert a UTF-8 string into a UCS-4 array.
void strutftoucs (const char *src, size_t slen, uint32_t *dest, size_t *np)
 Convert a UTF-8 string into a UCS-4 array.
size_t strucstoutf (const uint32_t *src, size_t snum, char *dest)
 Convert a UCS-4 array into a UTF-8 string.
size_t strutfdist (const char *astr, const char *bstr)
 Calculate the levenshtein distance of two UTF-8 strings.
size_t strucsdist (const uint32_t *aary, size_t anum, const uint32_t *bary, size_t bnum)
 Calculate the levenshtein distance of two UCS-4 arrays.
void * xmalloc (size_t size)
 Allocate a region on memory.
void * xcalloc (size_t nmemb, size_t size)
 Allocate a nullified region on memory.
void * xrealloc (void *ptr, size_t size)
 Re-allocate a region on memory.
void xfree (void *ptr)
 Free a region on memory.
void * mapalloc (size_t size)
 Allocate a nullified region on mapped memory.
void mapfree (void *ptr)
 Free a region on mapped memory.
double time ()
 Get the time of day in seconds.
int64_t getpid ()
 Get the process ID.
const char * getenv (const char *name)
 Get the value of an environment variable.
void getsysinfo (std::map< std::string, std::string > *strmap)
 Get system information of the environment.
void setstdiobin ()
 Set the standard streams into the binary mode.
bool _dummytest ()
 Dummy test driver.

Variables

LexicalComparator *const LEXICALCOMP
 Prepared pointer of the comparator in the lexical order.
LexicalDescendingComparator *const LEXICALDESCCOMP
 Prepared pointer of the comparator in the lexical descending order.
DecimalComparator *const DECIMALCOMP
 Prepared pointer of the comparator in the decimal order.
DecimalDescendingComparator *const DECIMALDESCCOMP
 Prepared pointer of the comparator in the decimal descending order.
ZLIBCompressor< ZLIB::RAW > *const ZLIBRAWCOMP
 Prepared pointer of the compressor with ZLIB raw mode.
const int8_t INT8MAX = (std::numeric_limits<int8_t>::max)()
 The maximum value of int8_t.
const int16_t INT16MAX = (std::numeric_limits<int16_t>::max)()
 The maximum value of int16_t.
const int32_t INT32MAX = (std::numeric_limits<int32_t>::max)()
 The maximum value of int32_t.
const int64_t INT64MAX = (std::numeric_limits<int64_t>::max)()
 The maximum value of int64_t.
const int8_t INT8MIN = (std::numeric_limits<int8_t>::min)()
 The minimum value of int8_t.
const int16_t INT16MIN = (std::numeric_limits<int16_t>::min)()
 The minimum value of int16_t.
const int32_t INT32MIN = (std::numeric_limits<int32_t>::min)()
 The minimum value of int32_t.
const int64_t INT64MIN = (std::numeric_limits<int64_t>::min)()
 The minimum value of int64_t.
const uint8_t UINT8MAX = (std::numeric_limits<uint8_t>::max)()
 The maximum value of uint8_t.
const uint16_t UINT16MAX = (std::numeric_limits<uint16_t>::max)()
 The maximum value of uint16_t.
const uint32_t UINT32MAX = (std::numeric_limits<uint32_t>::max)()
 The maximum value of uint32_t.
const uint64_t UINT64MAX = (std::numeric_limits<uint64_t>::max)()
 The maximum value of uint64_t.
const size_t SIZEMAX = (std::numeric_limits<size_t>::max)()
 The maximum value of size_t.
const float FLTMAX = (std::numeric_limits<float>::max)()
 The maximum value of float.
const double DBLMAX = (std::numeric_limits<double>::max)()
 The maximum value of double.
const char *const VERSION
 The package version.
const int32_t LIBVER
 The library version.
const int32_t LIBREV
 The library revision.
const int32_t FMTVER
 The database format version.
const char *const OSNAME
 The system name.
const bool BIGEND
 The flag for big endian environments.
const int32_t CLOCKTICK
 The clock tick of interruption.
const int32_t PAGESIZ
 The size of a page.
const char *const FEATURES
 The extra feature list.
const size_t NUMBUFSIZ = 32
 The buffer size for numeric data.
const size_t MEMMAXSIZ = INT32MAX / 2
 The maximum memory size for debugging.

Detailed Description

All symbols of Kyoto Cabinet.

Common namespace of Kyoto Cabinet.


Typedef Documentation

An alias of the cache tree database.

An alias of the directory tree database.

An alias of the file tree database.

An alias of the prototype hash database.

An alias of the prototype tree database.

typedef std::unordered_map<std::string, std::string> kyotocabinet::StringHashMap

An alias of hash map of strings.

typedef std::map<std::string, std::string> kyotocabinet::StringTreeMap

An alias of tree map of strings.


Function Documentation

int64_t kyotocabinet::atoi ( const char *  str)

Convert a decimal string to an integer.

Parameters:
strthe decimal string.
Returns:
the integer. If the string does not contain numeric expression, 0 is returned.
int64_t kyotocabinet::atoix ( const char *  str)

Convert a decimal string with a metric prefix to an integer.

Parameters:
strthe decimal string, which can be trailed by a binary metric prefix. "K", "M", "G", "T", "P", and "E" are supported. They are case-insensitive.
Returns:
the integer. If the string does not contain numeric expression, 0 is returned. If the integer overflows the domain, kyotocabinet::INT64MAX or kyotocabinet::INT64_MIN is returned according to the sign.
int64_t kyotocabinet::atoih ( const char *  str)

Convert a hexadecimal string to an integer.

Parameters:
strthe hexadecimal string.
Returns:
the integer. If the string does not contain numeric expression, 0 is returned.
int64_t kyotocabinet::atoin ( const char *  ptr,
size_t  size 
)

Convert a decimal byte array to an integer.

Parameters:
ptrthe decimal byte array.
sizethe size of the decimal byte array.
Returns:
the integer. If the string does not contain numeric expression, 0 is returned.
double kyotocabinet::atof ( const char *  str)

Convert a decimal string to a real number.

Parameters:
strthe decimal string.
Returns:
the real number. If the string does not contain numeric expression, 0.0 is returned.
double kyotocabinet::atofn ( const char *  ptr,
size_t  size 
)

Convert a decimal byte array to a real number.

Parameters:
ptrthe decimal byte array.
sizethe size of the decimal byte array.
Returns:
the real number. If the string does not contain numeric expression, 0.0 is returned.
uint16_t kyotocabinet::hton16 ( uint16_t  num)

Normalize a 16-bit number in the native order into the network byte order.

Parameters:
numthe 16-bit number in the native order.
Returns:
the number in the network byte order.
uint32_t kyotocabinet::hton32 ( uint32_t  num)

Normalize a 32-bit number in the native order into the network byte order.

Parameters:
numthe 32-bit number in the native order.
Returns:
the number in the network byte order.
uint64_t kyotocabinet::hton64 ( uint64_t  num)

Normalize a 64-bit number in the native order into the network byte order.

Parameters:
numthe 64-bit number in the native order.
Returns:
the number in the network byte order.
uint16_t kyotocabinet::ntoh16 ( uint16_t  num)

Denormalize a 16-bit number in the network byte order into the native order.

Parameters:
numthe 16-bit number in the network byte order.
Returns:
the converted number in the native order.
uint32_t kyotocabinet::ntoh32 ( uint32_t  num)

Denormalize a 32-bit number in the network byte order into the native order.

Parameters:
numthe 32-bit number in the network byte order.
Returns:
the converted number in the native order.
uint64_t kyotocabinet::ntoh64 ( uint64_t  num)

Denormalize a 64-bit number in the network byte order into the native order.

Parameters:
numthe 64-bit number in the network byte order.
Returns:
the converted number in the native order.
void kyotocabinet::writefixnum ( void *  buf,
uint64_t  num,
size_t  width 
)

Write a number in fixed length format into a buffer.

Parameters:
bufthe desitination buffer.
numthe number.
widththe width.
uint64_t kyotocabinet::readfixnum ( const void *  buf,
size_t  width 
)

Read a number in fixed length format from a buffer.

Parameters:
bufthe source buffer.
widththe width.
Returns:
the read number.
size_t kyotocabinet::writevarnum ( void *  buf,
uint64_t  num 
)

Write a number in variable length format into a buffer.

Parameters:
bufthe desitination buffer.
numthe number.
Returns:
the length of the written region.
size_t kyotocabinet::readvarnum ( const void *  buf,
size_t  size,
uint64_t *  np 
)

Read a number in variable length format from a buffer.

Parameters:
bufthe source buffer.
sizethe size of the source buffer.
npthe pointer to the variable into which the read number is assigned.
Returns:
the length of the read region, or 0 on failure.
size_t kyotocabinet::sizevarnum ( uint64_t  num)

Check the size of variable length format of a number.

Returns:
the size of variable length format.
uint64_t kyotocabinet::hashmurmur ( const void *  buf,
size_t  size 
)

Get the hash value by MurMur hashing.

Parameters:
bufthe source buffer.
sizethe size of the source buffer.
Returns:
the hash value.
uint64_t kyotocabinet::hashfnv ( const void *  buf,
size_t  size 
)

Get the hash value by FNV hashing.

Parameters:
bufthe source buffer.
sizethe size of the source buffer.
Returns:
the hash value.
uint32_t kyotocabinet::hashpath ( const void *  buf,
size_t  size,
char *  obuf 
)

Get the hash value suitable for a file name.

Parameters:
bufthe source buffer.
sizethe size of the source buffer.
obufthe buffer into which the result hash string is written. It must be more than NUMBUFSIZ.
Returns:
the auxiliary hash value.
uint64_t kyotocabinet::nearbyprime ( uint64_t  num)

Get a prime number nearby a number.

Parameters:
numa natural number.
Returns:
the result number.
double kyotocabinet::nan ( )

Get the quiet Not-a-Number value.

Returns:
the quiet Not-a-Number value.
double kyotocabinet::inf ( )

Get the positive infinity value.

Returns:
the positive infinity value.
bool kyotocabinet::chknan ( double  num)

Check a number is a Not-a-Number value.

Returns:
true for the number is a Not-a-Number value, or false if not.
bool kyotocabinet::chkinf ( double  num)

Check a number is an infinity value.

Returns:
true for the number is an infinity value, or false if not.
void kyotocabinet::vstrprintf ( std::string *  dest,
const char *  format,
va_list  ap 
)

Append a formatted string at the end of a string.

Parameters:
destthe destination string.
formatthe printf-like format string. The conversion character `' can be used with such flag characters as `s', `d', `o', `u', `x', `X', `c', `e', `E', `f', `g', `G', and `'.
apused according to the format string.
void kyotocabinet::strprintf ( std::string *  dest,
const char *  format,
  ... 
)

Append a formatted string at the end of a string.

Parameters:
destthe destination string.
formatthe printf-like format string. The conversion character `' can be used with such flag characters as `s', `d', `o', `u', `x', `X', `c', `e', `E', `f', `g', `G', and `'.
...used according to the format string.
std::string kyotocabinet::strprintf ( const char *  format,
  ... 
)

Generate a formatted string.

Generate a formatted string on memory.

Parameters:
formatthe printf-like format string. The conversion character `' can be used with such flag characters as `s', `d', `o', `u', `x', `X', `c', `e', `E', `f', `g', `G', and `'.
...used according to the format string.
Returns:
the result string.
size_t kyotocabinet::strsplit ( const std::string &  str,
char  delim,
std::vector< std::string > *  elems 
)

Split a string with a delimiter.

Parameters:
strthe string.
delimthe delimiter.
elemsa vector object into which the result elements are pushed.
Returns:
the number of result elements.
size_t kyotocabinet::strsplit ( const std::string &  str,
const std::string &  delims,
std::vector< std::string > *  elems 
)

Split a string with delimiters.

Parameters:
strthe string.
delimsthe delimiters.
elemsa vector object into which the result elements are pushed.
Returns:
the number of result elements.
std::string * kyotocabinet::strtoupper ( std::string *  str)

Convert the letters of a string into upper case.

Parameters:
strthe string to convert.
Returns:
the string itself.
std::string * kyotocabinet::strtolower ( std::string *  str)

Convert the letters of a string into lower case.

Parameters:
strthe string to convert.
Returns:
the string itself.
bool kyotocabinet::strfwm ( const std::string &  str,
const std::string &  key 
)

Check whether a string begins with a key.

Parameters:
strthe string.
keythe forward matching key string.
Returns:
true if the target string begins with the key, else, it is false.
bool kyotocabinet::strbwm ( const std::string &  str,
const std::string &  key 
)

Check whether a string ends with a key.

Parameters:
strthe string.
keythe backward matching key string.
Returns:
true if the target string ends with the key, else, it is false.
std::string * kyotocabinet::strtrim ( std::string *  str)

Cut space characters at head or tail of a string.

Parameters:
strthe string to convert.
Returns:
the string itself.
void kyotocabinet::strutftoucs ( const std::string &  src,
std::vector< uint32_t > *  dest 
)

Convert a UTF-8 string into a UCS-4 array.

Parameters:
srcthe source object.
destthe destination object.
void kyotocabinet::strucstoutf ( const std::vector< uint32_t > &  src,
std::string *  dest 
)

Convert a UCS-4 array into a UTF-8 string.

Parameters:
srcthe source object.
destthe destination object.
void kyotocabinet::strvecdump ( const std::vector< std::string > &  src,
std::string *  dest 
)

Serialize a string vector object into a string object.

Parameters:
srcthe source object.
destthe destination object.
void kyotocabinet::strvecload ( const std::string &  src,
std::vector< std::string > *  dest 
)

Deserialize a string object into a string vector object.

Parameters:
srcthe source object.
destthe destination object.
void kyotocabinet::strmapdump ( const std::map< std::string, std::string > &  src,
std::string *  dest 
)

Serialize a string vector object into a string object.

Parameters:
srcthe source object.
destthe destination object.
void kyotocabinet::strmapload ( const std::string &  src,
std::map< std::string, std::string > *  dest 
)

Deserialize a string object into a string map object.

Parameters:
srcthe source object.
destthe destination object.
char * kyotocabinet::hexencode ( const void *  buf,
size_t  size 
)

Encode a serial object by hexadecimal encoding.

Parameters:
bufthe pointer to the region.
sizethe size of the region.
Returns:
the result string.
Note:
Because the region of the return value is allocated with the the new[] operator, it should be released with the delete[] operator when it is no longer in use.
char * kyotocabinet::hexdecode ( const char *  str,
size_t *  sp 
)

Decode a string encoded by hexadecimal encoding.

Parameters:
strspecifies the encoded string.
spthe pointer to the variable into which the size of the region of the return value is assigned.
Returns:
the pointer to the region of the result.
Note:
Because an additional zero code is appended at the end of the region of the return value, the return value can be treated as a character string. Because the region of the return value is allocated with the the new[] operator, it should be released with the delete[] operator when it is no longer in use.
char * kyotocabinet::urlencode ( const void *  buf,
size_t  size 
)

Encode a serial object by URL encoding.

Parameters:
bufthe pointer to the region.
sizethe size of the region.
Returns:
the result string.
Note:
Because the region of the return value is allocated with the the new[] operator, it should be released with the delete[] operator when it is no longer in use.
char * kyotocabinet::urldecode ( const char *  str,
size_t *  sp 
)

Decode a string encoded by URL encoding.

Parameters:
strspecifies the encoded string.
spthe pointer to the variable into which the size of the region of the return value is assigned.
Returns:
the pointer to the region of the result.
Note:
Because an additional zero code is appended at the end of the region of the return value, the return value can be treated as a character string. Because the region of the return value is allocated with the the new[] operator, it should be released with the delete[] operator when it is no longer in use.
char * kyotocabinet::quoteencode ( const void *  buf,
size_t  size 
)

Encode a serial object by Quoted-printable encoding.

Parameters:
bufthe pointer to the region.
sizethe size of the region.
Returns:
the result string.
Note:
Because the region of the return value is allocated with the the new[] operator, it should be released with the delete[] operator when it is no longer in use.
char * kyotocabinet::quotedecode ( const char *  str,
size_t *  sp 
)

Decode a string encoded by Quoted-printable encoding.

Parameters:
strspecifies the encoded string.
spthe pointer to the variable into which the size of the region of the return value is assigned.
Returns:
the pointer to the region of the result.
Note:
Because an additional zero code is appended at the end of the region of the return value, the return value can be treated as a character string. Because the region of the return value is allocated with the the new[] operator, it should be released with the delete[] operator when it is no longer in use.
char * kyotocabinet::baseencode ( const void *  buf,
size_t  size 
)

Encode a serial object by Base64 encoding.

Parameters:
bufthe pointer to the region.
sizethe size of the region.
Returns:
the result string.
Note:
Because the region of the return value is allocated with the the new[] operator, it should be released with the delete[] operator when it is no longer in use.
char * kyotocabinet::basedecode ( const char *  str,
size_t *  sp 
)

Decode a string encoded by Base64 encoding.

Parameters:
strspecifies the encoded string.
spthe pointer to the variable into which the size of the region of the return value is assigned.
Returns:
the pointer to the region of the result.
Note:
Because an additional zero code is appended at the end of the region of the return value, the return value can be treated as a character string. Because the region of the return value is allocated with the the new[] operator, it should be released with the delete[] operator when it is no longer in use.
void kyotocabinet::arccipher ( const void *  ptr,
size_t  size,
const void *  kbuf,
size_t  ksiz,
void *  obuf 
)

Cipher or decipher a serial object with the Arcfour stream cipher.

Parameters:
ptrthe pointer to the region.
sizethe size of the region.
kbufthe pointer to the region of the cipher key.
ksizthe size of the region of the cipher key.
obufthe pointer to the region into which the result data is written. The size of the buffer should be equal to or more than the input region. The region can be the same as the source region.
char * kyotocabinet::memdup ( const char *  ptr,
size_t  size 
)

Duplicate a region on memory.

Parameters:
ptrthe source buffer.
sizethe size of the source buffer.
Note:
Because the region of the return value is allocated with the the new[] operator, it should be released with the delete[] operator when it is no longer in use.
int32_t kyotocabinet::memicmp ( const void *  abuf,
const void *  bbuf,
size_t  size 
)

Compare two regions by case insensitive evaluation.

Parameters:
abufa buffer.
bbufthe other buffer.
sizethe size of each buffer.
Returns:
positive if the former is big, negative if the latter is big, 0 if both are equivalent.
void * kyotocabinet::memmem ( const void *  hbuf,
size_t  hsiz,
const void *  nbuf,
size_t  nsiz 
)

Find the first occurrence of a sub pattern.

Parameters:
hbufthe target pattern buffer.
hsizthe size of the target pattern buffer.
nbufthe sub pattern buffer.
nsizthe size of the sub pattern buffer.
Returns:
the pointer to the beginning of the sub pattern in the target pattern buffer, or NULL if the sub pattern is not found.
void * kyotocabinet::memimem ( const void *  hbuf,
size_t  hsiz,
const void *  nbuf,
size_t  nsiz 
)

Find the first occurrence of a sub pattern by case insensitive evaluation.

Parameters:
hbufthe target pattern buffer.
hsizthe size of the target pattern buffer.
nbufthe sub pattern buffer.
nsizthe size of the sub pattern buffer.
Returns:
the pointer to the beginning of the sub pattern in the target pattern buffer, or NULL if the sub pattern is not found.
size_t kyotocabinet::memdist ( const void *  abuf,
size_t  asiz,
const void *  bbuf,
size_t  bsiz 
)

Calculate the levenshtein distance of two regions in bytes.

Parameters:
abufthe pointer to the region of one buffer.
asizthe size of the region of one buffer.
bbufthe pointer to the region of the other buffer.
bsizthe size of the region of the other buffer.
Returns:
the levenshtein distance of two regions.
char * kyotocabinet::strdup ( const char *  str)

Duplicate a string on memory.

Parameters:
strthe source string.
Note:
Because the region of the return value is allocated with the the new[] operator, it should be released with the delete[] operator when it is no longer in use.
char * kyotocabinet::strtoupper ( char *  str)

Convert the letters of a string into upper case.

Parameters:
strthe string to convert.
Returns:
the string itself.
char * kyotocabinet::strtolower ( char *  str)

Convert the letters of a string into lower case.

Parameters:
strthe string to convert.
Returns:
the string itself.
char * kyotocabinet::strtrim ( char *  str)

Cut space characters at head or tail of a string.

Parameters:
strthe string to convert.
Returns:
the string itself.
char * kyotocabinet::strsqzspc ( char *  str)

Squeeze space characters in a string and trim it.

Parameters:
strthe string to convert.
Returns:
the string itself.
char * kyotocabinet::strnrmspc ( char *  str)

Normalize space characters in a string and trim it.

Parameters:
strthe string to convert.
Returns:
the string itself.
int32_t kyotocabinet::stricmp ( const char *  astr,
const char *  bstr 
)

Compare two strings by case insensitive evaluation.

Parameters:
astra string.
bstrthe other string.
Returns:
positive if the former is big, negative if the latter is big, 0 if both are equivalent.
char * kyotocabinet::stristr ( const char *  hstr,
const char *  nstr 
)

Find the first occurrence of a substring by case insensitive evaluation.

Parameters:
hstrthe target string.
nstrthe substring.
Returns:
the pointer to the beginning of the substring in the target string, or NULL if the substring is not found.
bool kyotocabinet::strfwm ( const char *  str,
const char *  key 
)

Check whether a string begins with a key.

Parameters:
strthe string.
keythe forward matching key string.
Returns:
true if the target string begins with the key, else, it is false.
bool kyotocabinet::strifwm ( const char *  str,
const char *  key 
)

Check whether a string begins with a key by case insensitive evaluation.

Parameters:
strthe string.
keythe forward matching key string.
Returns:
true if the target string begins with the key, else, it is false.
bool kyotocabinet::strbwm ( const char *  str,
const char *  key 
)

Check whether a string ends with a key.

Parameters:
strthe string.
keythe backward matching key string.
Returns:
true if the target string ends with the key, else, it is false.
bool kyotocabinet::stribwm ( const char *  str,
const char *  key 
)

Check whether a string ends with a key by case insensitive evaluation.

Parameters:
strthe string.
keythe backward matching key string.
Returns:
true if the target string ends with the key, else, it is false.
size_t kyotocabinet::strutflen ( const char *  str)

Get the number of characters in a UTF-8 string.

Parameters:
strthe UTF-8 string.
Returns:
the number of characters in the string.
void kyotocabinet::strutftoucs ( const char *  src,
uint32_t *  dest,
size_t *  np 
)

Convert a UTF-8 string into a UCS-4 array.

Parameters:
srcthe source object.
destthe destination object. It must have enough size.
npthe pointer to the variable into which the number of elements in the destination object is assgined.
void kyotocabinet::strutftoucs ( const char *  src,
size_t  slen,
uint32_t *  dest,
size_t *  np 
)

Convert a UTF-8 string into a UCS-4 array.

Parameters:
srcthe source object which does not have to be trailed by zero code.
slenthe length of the source object.
destthe destination object. It must have enough size.
npthe pointer to the variable into which the number of elements in the destination object is assgined.
size_t kyotocabinet::strucstoutf ( const uint32_t *  src,
size_t  snum,
char *  dest 
)

Convert a UCS-4 array into a UTF-8 string.

Parameters:
srcthe source object.
snumthe number of elements in the source object.
destthe destination object. It must have enough size.
Returns:
the size of the result string.
size_t kyotocabinet::strutfdist ( const char *  astr,
const char *  bstr 
)

Calculate the levenshtein distance of two UTF-8 strings.

Parameters:
astrone UTF-8 string.
bstrthe other UTF-8 string.
Returns:
the levenshtein distance of two arrays.
size_t kyotocabinet::strucsdist ( const uint32_t *  aary,
size_t  anum,
const uint32_t *  bary,
size_t  bnum 
)

Calculate the levenshtein distance of two UCS-4 arrays.

Parameters:
aaryone UCS-4 array.
anumthe number of elements of one array.
barythe other UCS-4 array.
bnumthe number of elements of the other array.
Returns:
the levenshtein distance of two arrays.
void * kyotocabinet::xmalloc ( size_t  size)

Allocate a region on memory.

Parameters:
sizethe size of the region.
Returns:
the pointer to the allocated region.
void * kyotocabinet::xcalloc ( size_t  nmemb,
size_t  size 
)

Allocate a nullified region on memory.

Parameters:
nmembthe number of elements.
sizethe size of each element.
Returns:
the pointer to the allocated region.
void * kyotocabinet::xrealloc ( void *  ptr,
size_t  size 
)

Re-allocate a region on memory.

Parameters:
ptrthe pointer to the region.
sizethe size of the region.
Returns:
the pointer to the re-allocated region.
void kyotocabinet::xfree ( void *  ptr)

Free a region on memory.

Parameters:
ptrthe pointer to the region.
void* kyotocabinet::mapalloc ( size_t  size)

Allocate a nullified region on mapped memory.

Parameters:
sizethe size of the region.
Returns:
the pointer to the allocated region. It should be released with the memfree call.
void kyotocabinet::mapfree ( void *  ptr)

Free a region on mapped memory.

Parameters:
ptrthe pointer to the allocated region.
double kyotocabinet::time ( )

Get the time of day in seconds.

Returns:
the time of day in seconds. The accuracy is in microseconds.
int64_t kyotocabinet::getpid ( )

Get the process ID.

Returns:
the process ID.
const char* kyotocabinet::getenv ( const char *  name)

Get the value of an environment variable.

Returns:
the value of the environment variable, or NULL on failure.
void kyotocabinet::getsysinfo ( std::map< std::string, std::string > *  strmap)

Get system information of the environment.

Parameters:
strmapa string map to contain the result.

Set the standard streams into the binary mode.

Dummy test driver.

Returns:
always true.

Variable Documentation

Prepared pointer of the comparator in the lexical order.

Prepared pointer of the comparator in the lexical descending order.

Prepared pointer of the comparator in the decimal order.

Prepared pointer of the comparator in the decimal descending order.

Prepared pointer of the compressor with ZLIB raw mode.

const int8_t kyotocabinet::INT8MAX = (std::numeric_limits<int8_t>::max)()

The maximum value of int8_t.

const int16_t kyotocabinet::INT16MAX = (std::numeric_limits<int16_t>::max)()

The maximum value of int16_t.

const int32_t kyotocabinet::INT32MAX = (std::numeric_limits<int32_t>::max)()

The maximum value of int32_t.

const int64_t kyotocabinet::INT64MAX = (std::numeric_limits<int64_t>::max)()

The maximum value of int64_t.

const int8_t kyotocabinet::INT8MIN = (std::numeric_limits<int8_t>::min)()

The minimum value of int8_t.

const int16_t kyotocabinet::INT16MIN = (std::numeric_limits<int16_t>::min)()

The minimum value of int16_t.

const int32_t kyotocabinet::INT32MIN = (std::numeric_limits<int32_t>::min)()

The minimum value of int32_t.

const int64_t kyotocabinet::INT64MIN = (std::numeric_limits<int64_t>::min)()

The minimum value of int64_t.

const uint8_t kyotocabinet::UINT8MAX = (std::numeric_limits<uint8_t>::max)()

The maximum value of uint8_t.

const uint16_t kyotocabinet::UINT16MAX = (std::numeric_limits<uint16_t>::max)()

The maximum value of uint16_t.

const uint32_t kyotocabinet::UINT32MAX = (std::numeric_limits<uint32_t>::max)()

The maximum value of uint32_t.

const uint64_t kyotocabinet::UINT64MAX = (std::numeric_limits<uint64_t>::max)()

The maximum value of uint64_t.

const size_t kyotocabinet::SIZEMAX = (std::numeric_limits<size_t>::max)()

The maximum value of size_t.

const float kyotocabinet::FLTMAX = (std::numeric_limits<float>::max)()

The maximum value of float.

const double kyotocabinet::DBLMAX = (std::numeric_limits<double>::max)()

The maximum value of double.

const char* const kyotocabinet::VERSION

The package version.

const int32_t kyotocabinet::LIBVER

The library version.

const int32_t kyotocabinet::LIBREV

The library revision.

const int32_t kyotocabinet::FMTVER

The database format version.

const char* const kyotocabinet::OSNAME

The system name.

The flag for big endian environments.

const int32_t kyotocabinet::CLOCKTICK

The clock tick of interruption.

const int32_t kyotocabinet::PAGESIZ

The size of a page.

const char* const kyotocabinet::FEATURES

The extra feature list.

const size_t kyotocabinet::NUMBUFSIZ = 32

The buffer size for numeric data.

const size_t kyotocabinet::MEMMAXSIZ = INT32MAX / 2

The maximum memory size for debugging.