nlib
|
共通して使われる機能やプラットフォームへの依存度が高い機能が実装されます。 nlib Platform APIs も御覧ください。nlib_ns
はエイリアスです。
[詳解]
名前空間 | |
binary_reader | |
BinaryReader クラスでユーザー定義クラスに読み込むために利用する関数が定義されています。 | |
binary_writer | |
BinaryWriter クラスでユーザー定義クラスを書きこむために利用する関数が定義されています。 | |
exi | |
バイナリXMLパーサー(とXMLパーサー)が実装されています。 | |
handle_maker | |
HandleMaker クラスをカスタマイズするための関数テンプレートが定義されている名前空間です。 | |
heap | |
heap ライブラリの名前空間です。nmalloc() , nfree() 等はグローバル名前空間に定義されています。 | |
msgpack | |
MessagePackのシリアライザ及びJSONパーサー/ライター, CSVパーサーが実装されています。 | |
oss | |
オープンソース・ソフトウェア(OSS), OSS派生コード, 及びOSSにアクセスするためのライブラリが実装されています。 | |
simd | |
整数、単精度浮動小数点数のSIMD演算を行うためのクラスや関数が実装されています。 | |
succinct | |
ビットベクトルに関する簡潔データ構造クラスのライブラリが実装されています。 | |
testing | |
C++のコードをテストするためのフレームワークです。testingライブラリの機能一覧 の説明も御覧ください。 | |
threading | |
スレッド関連のクラスや関数が実装されています。 | |
unicode | |
ユニコード関連の機能が実装されています。 | |
クラス | |
class | Base64InputStream |
Base64でエンコードされたデータを読み込むためのクラスです。 [詳解] | |
class | Base64OutputStream |
データをBase64でエンコードして書きこむためのクラスです。 [詳解] | |
class | BinaryReader |
ストリーム(InputStream )からバイナリを読み込むクラスです。 [詳解] | |
class | BinaryWriter |
ストリーム(OutputStream )にバイナリを書き込むクラスです。 [詳解] | |
class | ConsoleOutputStream |
nlib_printfを利用して文字列としてコンソールに出力するストリームを作成します。 [詳解] | |
class | ConstructorForLockFree |
オブジェクトを初期化するためのクラステンプレートです。特殊化して利用します。 [詳解] | |
class | Crc32 |
データ(ストリーム)のCRC-32を計算するためのクラスです。 [詳解] | |
class | DateTime |
日時を表すクラスです。 [詳解] | |
struct | DateTimeParams |
日時情報をDateTime に設定したりDateTime から取得するための構造体です。 [詳解] | |
class | DestructorForLockFree |
オブジェクトをデストラクトするためのクラステンプレートです。特殊化して利用します。 [詳解] | |
class | DynamicAlignedStorage |
アラインされたメモリを得るためのクラスです。 [詳解] | |
class | FileInputStream |
ファイルの入力ストリームです。 [詳解] | |
struct | FileInputStreamSettings |
ファイルストリームの設定情報を格納する構造体です。 [詳解] | |
class | FileOutputStream |
ファイルの出力ストリームです。 [詳解] | |
struct | FileOutputStreamSettings |
ファイルストリームの設定情報を格納する構造体です。 [詳解] | |
class | FileStyleUri |
fileスキームを用いたURIをパースしたりURI文字列を構築したりするためのクラスです。 [詳解] | |
class | HandleAccess |
ハンドル実体に対してポインタのようにアクセスできるアクセサクラスです。HandlerMaker クラスにより設定されて利用可能になります。 [詳解] | |
class | HandleMaker |
32bit整数値を持つハンドルの実装を支援するクラスです。 [詳解] | |
struct | HandleTable |
HandlerMaker クラスが利用するハンドルの実体への参照テーブルです。 [詳解] | |
class | HttpStyleUri |
http/httpsスキームを用いたURIをパースしたりURI文字列を構築したりするためのクラスです。 [詳解] | |
class | InputConverterStream |
内部でデータ変換を行う InputStream のように振る舞うクラスの基底です。 [詳解] | |
class | InputConverterStreamTempl |
InputTransform の派生クラスを保持するためのクラスです。 [詳解] | |
class | InputStream |
入力ストリームの基底クラスです。このクラスを実体化することはできません。 [詳解] | |
class | LockFreeBroadcastQueue |
指定された数のリスナーがキューから要素を取得できます。全てのリスナーが取得後、要素はキューから削除されます。 [詳解] | |
class | LockFreePipe |
データの送り手側のスレッドと受け手側のスレッドがそれぞれ1つずつの場合、このクラスを用いてロックフリーにデータの受け渡しを行うことができます。 [詳解] | |
class | LockFreePriorityQueue |
ロックフリーな優先度つきキューを実装したクラスで、nlib_mq をラップしています。 [詳解] | |
class | LockFreeQueue |
ロックフリーなキューを実装しているクラスです。 [詳解] | |
class | LockFreeStack |
ロックフリーなスタックを実装しているクラスです。 [詳解] | |
class | LockFreeUnitHeap |
固定メモリサイズの領域を確保・解放をロックフリーで行うことのできるプールアロケータです。 [詳解] | |
class | MemoryInputStream |
メモリを使用する入力ストリームを作成します。 [詳解] | |
class | MemoryOutputStream |
メモリを使用する出力ストリームを作成します。 [詳解] | |
struct | move_tag |
空の構造体で、関数の引数をムーブすべきことを示すために利用されます。 [詳解] | |
class | NativePathMapper |
機種依存しないURIによるパス記述からネイティブのパス文字列を得るためのクラスです。 [詳解] | |
class | Nflags |
コマンドラインフラグをパースするためのクラスです。 [詳解] | |
class | Nlist |
std::vector に似た、コピーコンストラクタを持たないオブジェクトを格納可能なコンテナ類似クラスです。 [詳解] | |
class | Nqueue |
std::queue に似た、コピーコンストラクタを持たないオブジェクトを格納可能なコンテナ類似クラスです。 [詳解] | |
class | NullInputStream |
常に0を読み込むストリームです。 [詳解] | |
class | NullOutputStream |
実際の書き込み動作を行わないOutputStream です。 [詳解] | |
class | OutputConverterStream |
内部でデータ変換を行うOutputStream のように振る舞うクラスの基底です。 [詳解] | |
class | OutputConverterStreamTempl |
OutputTransform の派生クラスを保持するためのクラスです。 [詳解] | |
class | OutputStream |
出力ストリームの基底クラスです。このクラスを実体化することはできません。 [詳解] | |
class | ReallocCstringVec |
C文字列のベクタをreallocベースで実装しています。 [詳解] | |
class | ReallocOutputStream |
nlib_realloc()等のrealloc関数を利用して拡張するメモリ領域に書きこむ出力ストリームです。 [詳解] | |
class | ReallocQueue |
PODを要素に持つキューをreallocベースで実装しています。 [詳解] | |
class | ReallocVec |
PODを要素に持つベクタをreallocベースで実装しています。 [詳解] | |
class | SimpleSingleton |
main関数の実行前にstatic変数により暗黙的にインスタンスを構築するタイプのシングルトンです。 [詳解] | |
class | Singleton |
最初に利用されるときにオブジェクトが初期化されるシングルトンです。 [詳解] | |
class | SmartBitmap |
Rank/Select操作つきのビットデータを保持するデータ構造です。 [詳解] | |
class | SmartBitmapCrtp |
Rank/Select操作つきのビットデータを保持するデータ構造です。 [詳解] | |
class | SmartBitmapPtr |
Rank/Select操作つきのビットデータを保持するデータ構造です。 [詳解] | |
class | StringView |
std::string が持つメソッドをstd::string を構築せずに利用するためのクラスです。 [詳解] | |
class | TaggedTextParser |
XML風タグ付きテキストをパースする簡単なパーサーです。 [詳解] | |
class | TextReader |
ストリームからテキストを読み込むクラスです。 [詳解] | |
class | TextWriter |
ストリームにテキストを書き込むクラスです。 [詳解] | |
class | TimeSpan |
時間を表すクラスです。 [詳解] | |
class | TimeValue |
64bitの符号付き整数をラップするクラスです。 [詳解] | |
class | UniquePtr |
UniquePtr はポインタの所有権を保持し、UniquePtr がスコープから出るときにデストラクタでポインタをDELで指定した方法により解放します。 [詳解] | |
class | Uri |
一般的なURIをパースしたり構築したりするためのクラスです。 [詳解] | |
class | UriTemplate |
URI Template(RFC 6570, Level3)をサポートします。 [詳解] | |
class | Utf16InputStream |
UTF-16の文字列ストリームをUTF-8にして読み込むためのクラスです。 [詳解] | |
class | Utf32InputStream |
UTF-32の文字列ストリームをUTF-8にして読み込むためのクラスです。 [詳解] | |
class | WcharInputStream |
ワイド文字(wchar_t, UTF-16/UTF-32)の文字列ストリームをUTF-8にして読み込むためのクラスです。 [詳解] | |
class | ZlibInputStream |
zlib を用いて圧縮したデータを読み込むためのストリームクラスです。 [詳解] | |
struct | ZlibInputStreamSettings |
ZlibInputStream の各種設定が格納されている構造体です。 コンストラクト時にはデフォルトの設定が格納されています。 [詳解] | |
class | ZlibOutputStream |
zlib を用いてデータを圧縮してストリームに書き込みます。 [詳解] | |
struct | ZlibOutputStreamSettings |
ZlibOutputStream の各種設定が格納されている構造体です。コンストラクト時にはデフォルトの設定が格納されています。 [詳解] | |
型定義 | |
typedef nlib_utf16_t | utf16_t |
UTF16の文字に対する型です。 nlib_utf16_t にtypedef されています。 | |
typedef nlib_utf32_t | utf32_t |
UTF32の文字に対する型です。 nlib_utf32_t にtypedef されています。 | |
関数 | |
size_t | StrLen (const char *str) noexcept |
nlib_strlen()をラップします。 | |
size_t | StrLen (const nlib_utf16_t *str) noexcept |
nlib_utf16len()をラップします。 | |
size_t | StrLen (const nlib_utf32_t *str) noexcept |
nlib_utf32len()をラップします。 | |
size_t | StrLen (const wchar_t *str) noexcept |
nlib_wcslen()をラップします。 | |
errno_t | CodePointCount (const char *str, size_t *count) noexcept |
nlib_strcplen()をラップします。 | |
errno_t | CodePointCount (const nlib_utf16_t *str, size_t *count) noexcept |
nlib_utf16cplen()をラップします。 | |
errno_t | CodePointCount (const nlib_utf32_t *str, size_t *count) noexcept |
nlib_utf32cplen()をラップします。 | |
errno_t | CodePointCount (const wchar_t *str, size_t *count) noexcept |
nlib_wcscplen()をラップします。 | |
int | StrCmp (const char *s1, const char *s2) noexcept |
strcmp() をラップします。 | |
int | StrCmp (const wchar_t *s1, const wchar_t *s2) noexcept |
wcscmp() をラップします。 | |
int | StrCmp (const nlib_utf16_t *s1, const nlib_utf16_t *s2) noexcept |
UTF-16文字列をstrcmp() と同様に比較します。 | |
int | StrCmp (const nlib_utf32_t *s1, const nlib_utf32_t *s2) noexcept |
UTF-32文字列をstrcmp() と同様に比較します。 | |
int | StrNcmp (const char *s1, const char *s2, size_t n) noexcept |
strncmp() をラップします。 | |
int | StrNcmp (const wchar_t *s1, const wchar_t *s2, size_t n) noexcept |
wcsncmp() をラップします。 | |
int | StrNcmp (const nlib_utf16_t *s1, const nlib_utf16_t *s2, size_t n) noexcept |
UTF-16文字列をstrncmp() と同様に比較します。 | |
int | StrNcmp (const nlib_utf32_t *s1, const nlib_utf32_t *s2, size_t n) noexcept |
UTF-32文字列をstrncmp() と同様に比較します。 | |
errno_t | StrCpy (char *dest, size_t destSize, const char *src) noexcept |
nlib_strcpy() をラップします。 | |
errno_t | StrCpy (nlib_utf16_t *dest, size_t destSize, const nlib_utf16_t *src) noexcept |
nlib_utf16cpy() をラップします。 | |
errno_t | StrCpy (nlib_utf32_t *dest, size_t destSize, const nlib_utf32_t *src) noexcept |
nlib_utf32cpy() をラップします。 | |
errno_t | StrCpy (wchar_t *dest, size_t destSize, const wchar_t *src) noexcept |
nlib_wcscpy() をラップします。 | |
template<class T , size_t N> | |
errno_t | StrCpy (T(&dest)[N], const T *src) noexcept |
内部でStrCpy(&dest[0], N, src)を呼び出します。 [詳解] | |
errno_t | StrNcpy (char *dest, size_t destSize, const char *src, size_t maxNumCopyWithoutNull) noexcept |
nlib_strncpy() をラップします。 | |
errno_t | StrNcpy (nlib_utf16_t *dest, size_t destSize, const nlib_utf16_t *src, size_t maxNumCopyWithoutNull) noexcept |
nlib_utf16ncpy() をラップします。 | |
errno_t | StrNcpy (nlib_utf32_t *dest, size_t destSize, const nlib_utf32_t *src, size_t maxNumCopyWithoutNull) noexcept |
nlib_utf32ncpy() をラップします。 | |
errno_t | StrNcpy (wchar_t *dest, size_t destSize, const wchar_t *src, size_t maxNumCopyWithoutNull) noexcept |
nlib_wcsncpy() をラップします。 | |
template<class T , size_t N> | |
errno_t | StrNcpy (T(&dest)[N], const T *src, size_t maxNumCopyWithoutNull) noexcept |
内部でStrNcpy(&dest[0], N, src, maxNumCopyWithoutNull)を呼び出します。 [詳解] | |
errno_t | MemCpy (void *dest, size_t destSize, const void *src, size_t srcSize) noexcept |
nlib_memcpy() をラップします。 | |
errno_t | MemMove (void *dest, size_t destSize, const void *src, size_t srcSize) noexcept |
nlib_memmove() をラップします。 | |
errno_t | StrCat (char *dest, size_t destSize, const char *src) noexcept |
nlib_strcat() をラップします。 | |
errno_t | StrCat (wchar_t *dest, size_t destSize, const wchar_t *src) noexcept |
nlib_wcscat() をラップします。 | |
template<class T , size_t N> | |
errno_t | StrCat (T(&dest)[N], const T *src) noexcept |
内部でStrCat(&dest[0], N, src)を呼び出します。 [詳解] | |
errno_t | StrNcat (char *dest, size_t destSize, const char *src, size_t maxNumCopyWithoutNull) noexcept |
nlib_strncat() をラップします。 | |
errno_t | StrNcat (wchar_t *dest, size_t destSize, const wchar_t *src, size_t maxNumCopyWithoutNull) noexcept |
nlib_wcsncat() をラップします。 | |
template<class T , size_t N> | |
errno_t | StrNcat (T(&dest)[N], const T *src, size_t maxNumCopyWithoutNull) noexcept |
内部でStrNcat(&dest[0], N, src, maxNumCopyWithoutNull)を呼び出します。 [詳解] | |
int | IsAlnum (int c) noexcept |
std::isalnum(static_cast<unsigned char>(c)) を返します。 [詳解] | |
int | IsAlpha (int c) noexcept |
std::isalpha(static_cast<unsigned char>(c)) を返します。 [詳解] | |
int | IsCntrl (int c) noexcept |
std::iscntrl(static_cast<unsigned char>(c)) を返します。 [詳解] | |
int | IsDigit (int c) noexcept |
std::isdigit(static_cast<unsigned char>(c)) を返します。 [詳解] | |
int | IsGraph (int c) noexcept |
std::isgraph(static_cast<unsigned char>(c)) を返します。 [詳解] | |
int | IsLower (int c) noexcept |
std::islower(static_cast<unsigned char>(c)) を返します。 [詳解] | |
int | IsPrint (int c) noexcept |
std::isprint(static_cast<unsigned char>(c)) を返します。 [詳解] | |
int | IsPunct (int c) noexcept |
std::ispunct(static_cast<unsigned char>(c)) を返します。 [詳解] | |
int | IsSpace (int c) noexcept |
std::isspace(static_cast<unsigned char>(c)) を返します。 [詳解] | |
int | IsUpper (int c) noexcept |
std::isupper(static_cast<unsigned char>(c)) を返します。 [詳解] | |
int | IsXdigit (int c) noexcept |
std::isxdigit(static_cast<unsigned char>(c)) を返します。 [詳解] | |
int | ToUpper (int c) noexcept |
std::toupper(static_cast<unsigned char>(c)) を返します。 [詳解] | |
int | ToLower (int c) noexcept |
std::tolower(static_cast<unsigned char>(c)) を返します。 [詳解] | |
int | VsnPrintfFallback (char *buf, size_t size, const char *fmt, va_list args) noexcept |
VsnPrintf のフォールバックです。ワイド文字版も実装されています。 [詳解] | |
int | VsnPrintf (char *buf, size_t size, const char *fmt, va_list args) noexcept |
vsnprintf() を実行します。 [詳解] | |
template<size_t N> | |
int | VsnPrintf (char(&buf)[N], const char *fmt, va_list args) noexcept |
内部でVsnPrintf(buf, N, fmt, args)を実行します。 [詳解] | |
int | SnPrintf (char *buf, size_t size, const char *fmt,...) noexcept |
内部でVsnPrintf() を呼び出す以外はsnprintf 相当の動作をします。 [詳解] | |
template<size_t N> | |
int | SnPrintf (char(&buf)[N], const char *fmt,...) noexcept |
内部でVsnPrintf() を実行します。 [詳解] | |
int | VsnPrintf (wchar_t *buf, size_t size, const wchar_t *fmt, va_list args) noexcept |
vsnprintf を実行します。 [詳解] | |
template<size_t N> | |
int | VsnPrintf (wchar_t(&buf)[N], const wchar_t *fmt, va_list args) noexcept |
内部でVsnPrintf(buf, N, fmt, args)を実行します。 [詳解] | |
int | SnPrintf (wchar_t *buf, size_t size, const wchar_t *fmt,...) noexcept |
内部でVsnPrintf() を呼び出す以外はsnwprintf 相当の動作をします。 [詳解] | |
template<size_t N> | |
int | SnPrintf (wchar_t(&buf)[N], const wchar_t *fmt,...) noexcept |
内部でVsnPrintf() を実行します。 [詳解] | |
errno_t | GetNintendoTime (int64_t *t) noexcept |
2000/01/01を起点とした経過時間をミリ秒単位で返します。 [詳解] | |
uint64_t | GetTickTime () noexcept |
システムを起動した後の経過時間をミリ秒単位で返します。 [詳解] | |
bool | operator== (const TimeValue &lhs, const TimeValue &rhs) noexcept |
比較演算子です。 | |
bool | operator< (const TimeValue &lhs, const TimeValue &rhs) noexcept |
比較演算子です。 | |
bool | operator!= (const TimeValue &lhs, const TimeValue &rhs) noexcept |
比較演算子です。 | |
bool | operator> (const TimeValue &lhs, const TimeValue &rhs) noexcept |
比較演算子です。 | |
bool | operator<= (const TimeValue &lhs, const TimeValue &rhs) noexcept |
比較演算子です。 | |
bool | operator>= (const TimeValue &lhs, const TimeValue &rhs) noexcept |
比較演算子です。 | |
TimeValue | operator+ (const TimeValue &lhs, const TimeValue &rhs) noexcept |
加算します。 | |
TimeValue | operator- (const TimeValue &lhs, const TimeValue &rhs) noexcept |
減算します。 | |
TimeSpan | operator+ (const TimeSpan &lhs, const TimeSpan &rhs) noexcept |
加算します。 | |
TimeSpan | operator- (const TimeSpan &lhs, const TimeSpan &rhs) noexcept |
減算します。 | |
TimeSpan | operator* (int i, const TimeSpan &rhs) noexcept |
rhs を i 倍します。 | |
TimeSpan | operator* (double d, const TimeSpan &rhs) noexcept |
rhs を d 倍します。 | |
TimeSpan | operator* (const TimeSpan &lhs, int i) noexcept |
rhs を i 倍します。 | |
TimeSpan | operator* (const TimeSpan &lhs, double d) noexcept |
rhs を d 倍します。 | |
DateTime | operator+ (const DateTime &lhs, const TimeSpan &rhs) noexcept |
lhs から rhs だけ未来の時刻を返します。 | |
DateTime | operator- (const DateTime &lhs, const TimeSpan &rhs) noexcept |
lhs から rhs だけ過去の時刻を返します。 | |
TimeSpan | operator- (const DateTime &lhs, const DateTime &rhs) noexcept |
時刻rhs から時刻lhs までの時間を返します。 | |
template<class T > | |
errno_t | LockFreeInit (T **ptr) noexcept |
スレッドセーフにオブジェクトの構築を行います。 [詳解] | |
template<class T , class AL1 , class AL2 > | |
bool | operator== (const Nlist< T, AL1 > &lhs, const Nlist< T, AL2 > &rhs) noexcept |
2つのリストが等価かどうか調べます。 | |
template<class T , class AL1 , class AL2 > | |
bool | operator!= (const Nlist< T, AL1 > &lhs, const Nlist< T, AL2 > &rhs) noexcept |
2つのリストが等価かどうか調べます。 | |
template<class T , class AL1 , class AL2 > | |
bool | operator< (const Nlist< T, AL1 > &lhs, const Nlist< T, AL2 > &rhs) noexcept |
2つのリストを辞書順で比較します。 | |
template<class T , class AL1 , class AL2 > | |
bool | operator> (const Nlist< T, AL1 > &lhs, const Nlist< T, AL2 > &rhs) noexcept |
2つのリストを辞書順で比較します。 | |
template<class T , class AL1 , class AL2 > | |
bool | operator<= (const Nlist< T, AL1 > &lhs, const Nlist< T, AL2 > &rhs) noexcept |
2つのリストを辞書順で比較します。 | |
template<class T , class AL1 , class AL2 > | |
bool | operator>= (const Nlist< T, AL1 > &lhs, const Nlist< T, AL2 > &rhs) noexcept |
2つのリストを辞書順で比較します。 | |
bool | operator== (const StringView &lhs, const StringView &rhs) noexcept |
文字列が一致するかどうか比較します。 | |
bool | operator!= (const StringView &lhs, const StringView &rhs) noexcept |
文字列が一致するかどうか比較します。 | |
bool | operator< (const StringView &lhs, const StringView &rhs) noexcept |
文字列を辞書順で比較します。 | |
bool | operator> (const StringView &lhs, const StringView &rhs) noexcept |
文字列を辞書順で比較します。 | |
bool | operator<= (const StringView &lhs, const StringView &rhs) noexcept |
文字列を辞書順で比較します。 | |
bool | operator>= (const StringView &lhs, const StringView &rhs) noexcept |
文字列を辞書順で比較します。 | |
errno_t | StrTo (const char *s, int base, int32_t *v) noexcept |
文字列s をint32_t 型の整数に変換します。 [詳解] | |
errno_t | StrTo (const char *s, int base, int64_t *v) noexcept |
文字列s をint64_t 型の整数に変換します。 [詳解] | |
errno_t | StrTo (const char *s, int base, uint32_t *v) noexcept |
文字列s をuint32_t 型の整数に変換します。 [詳解] | |
errno_t | StrTo (const char *s, int base, uint64_t *v) noexcept |
文字列s をuint64_t 型の整数に変換します。 [詳解] | |
errno_t | StrTo (const char *s, double *v) noexcept |
文字列s をdouble 型に変換します。 [詳解] | |
errno_t | StrTo (const char *s, float *v) noexcept |
文字列sをfloat 型に変換します。 [詳解] | |
errno_t | StrTo (const char *s, int base, int8_t *v) noexcept |
文字列s をint8_t 型の整数に変換します。 [詳解] | |
errno_t | StrTo (const char *s, int base, int16_t *v) noexcept |
文字列s をint16_t 型の整数に変換します。 [詳解] | |
errno_t | StrTo (const char *s, int base, uint8_t *v) noexcept |
文字列s をuint8_t 型の整数に変換します。 [詳解] | |
errno_t | StrTo (const char *s, int base, uint16_t *v) noexcept |
文字列s をuint16_t 型の整数に変換します。 [詳解] | |
template<class T1 , class D1 , class T2 , class D2 > | |
bool | operator== (const UniquePtr< T1, D1 > &rhs, const UniquePtr< T2, D2 > &lhs) noexcept |
同じポインタを保持していていればtrue を返します。 | |
template<class T1 , class D1 > | |
bool | operator== (const UniquePtr< T1, D1 > &lhs, nullptr_t) noexcept |
lhs がNULL であればtrue を返します。 | |
template<class T1 , class D1 > | |
bool | operator== (nullptr_t, const UniquePtr< T1, D1 > &rhs) noexcept |
rhs がNULL であればtrue を返します。 | |
template<class T1 , class D1 , class T2 , class D2 > | |
bool | operator!= (const UniquePtr< T1, D1 > &rhs, const UniquePtr< T2, D2 > &lhs) noexcept |
同じポインタを保持していなければtrue を返します。 | |
template<class T1 , class D1 > | |
bool | operator!= (const UniquePtr< T1, D1 > &lhs, nullptr_t) noexcept |
lhs がNULL でなければtrue を返します。 | |
template<class T1 , class D1 > | |
bool | operator!= (nullptr_t, const UniquePtr< T1, D1 > &rhs) noexcept |
rhs がNULL でなければtrue を返します。 | |
共通して使われる機能やプラットフォームへの依存度が高い機能が実装されます。 nlib Platform APIs も御覧ください。nlib_ns
はエイリアスです。
nn::nlib
名前空間にはスレッドやストリーム関連のクラス、及びuriパーサーといったユーティリティが実装されています。 InputStream
, OutputStream
を基底クラスとする、各種ストリームクラス zlib
での読み書きサポートされている。 BinaryReader
, BinaryWriter
) TextReader
, TextWriter
) DateTime
, TimeSpan
クラス。
|
inlinenoexcept |
2000/01/01を起点とした経過時間をミリ秒単位で返します。
[out] | t | 経過時間が格納されるポインタ |
EINVAL
を返します。 DateTime.h の 17 行目に定義があります。
|
inlinenoexcept |
システムを起動した後の経過時間をミリ秒単位で返します。
DateTime.h の 28 行目に定義があります。
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
std::isdigit(static_cast<unsigned char>(c))
を返します。
[in] | c | テストする文字 |
std::isdigit()
の戻り値
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
スレッドセーフにオブジェクトの構築を行います。
T | 初期化するオブジェクトの型 |
[out] | ptr | 初期化されたオブジェクトへのポインタ |
0 | 成功した場合 |
EAGAIN | コンストラクタ関数(ConstructorForLockFree<T>()() )がNULL を返した場合 |
ConstructorForLockFree<T>()()
を実行して作成されたオブジェクトへのポインタを*ptr
に代入します。 この際にmutexによる排他が行われることはなく、CAS(Compare-and-Swap)によりスレッドセーフに1回だけオブジェクトへのポインタが設定されます。 このため、複数のスレッドで同時にConstructorForLockFree<T>()()
が実行される場合があり、利用されないオブジェクトはDestructorForLockFree<T>()()
を実行して削除されます。 なお、*ptr
は静的にNULL
に初期化しておく必要があります。 LockFree.h の 602 行目に定義があります。
|
inlinenoexcept |
内部でVsnPrintf()
を呼び出す以外はsnprintf
相当の動作をします。
[out] | buf | 文字列の格納バッファ |
[in] | size | バッファ・サイズ(文字数) |
[in] | fmt | 書式の指定 |
VsnPrintf()
の戻り値を返します。
|
inlinenoexcept |
内部でVsnPrintf()
を実行します。
N | バッファ・サイズ(文字数) |
[out] | buf | 文字列の格納バッファ |
[in] | fmt | 書式の指定 |
VsnPrintf()
の戻り値を返します。
|
inlinenoexcept |
内部でVsnPrintf()
を呼び出す以外はsnwprintf
相当の動作をします。
[out] | buf | 文字列の格納バッファ |
[in] | size | バッファ・サイズ(文字数) |
[in] | fmt | 書式の指定 |
VsnPrintf()
の戻り値を返します。
|
inlinenoexcept |
内部でVsnPrintf()
を実行します。
N | バッファ・サイズ(文字数) |
[out] | buf | 文字列の格納バッファ |
[in] | fmt | 書式の指定 |
VsnPrintf()
の戻り値を返します。
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
内部でStrNcpy(&dest[0], N, src, maxNumCopyWithoutNull)を呼び出します。
T | char ,wchar_t,nlib_utf16_t,nlib_utf32_t のいずれか |
N | コピー先のバッファ・サイズ |
[out] | dest | 文字列のコピー先バッファ |
[in] | src | コピーされる文字列 |
[in] | maxNumCopyWithoutNull | コピーする最大文字数(ヌル文字を除く) |
StrNcpy(&dest[0], N, src, maxNumCopyWithoutNull)
の戻り値
|
noexcept |
文字列s
をint32_t
型の整数に変換します。
[in] | s | 変換対象となる文字列 |
[in] | base | 基数 |
[out] | v | 変換された値が格納されるポインタ |
0 | エラーは発生していません |
EINVAL | s 又はv がNULL , sが空文字列の場合 |
EILSEQ | s に数値以外の文字が含まれた場合(strtol() 関数とは違い先頭に空白がある場合はエラー) |
ERANGE | 値がint32_t 型に入りきらない場合 |
strtol()
関数を呼び出しています。 strtol()
関数を利用しないStrToFallback()
も実装されていて、適切なstrtol()
が実装されていない環境ではStrToFallback()
が実行されます。
|
noexcept |
文字列s
をint64_t
型の整数に変換します。
[in] | s | 変換対象となる文字列 |
[in] | base | 基数 |
[out] | v | 変換された値が格納されるポインタ |
0 | エラーは発生していません |
EINVAL | s 又はv がNULL , s が空文字列の場合 |
EILSEQ | s に数値以外の文字が含まれた場合(strtoll() 関数とは違い先頭に空白がある場合はエラー) |
ERANGE | 値がint64_t 型に入りきらない場合 |
strtoll()
関数を呼び出しています。 strtoll()
関数を利用しないStrToFallback()
も実装されていて、適切なstrtoll()
が実装されていない環境ではStrToFallback()
が実行されます。
|
noexcept |
文字列s
をuint32_t
型の整数に変換します。
[in] | s | 変換対象となる文字列 |
[in] | base | 基数 |
[out] | v | 変換された値が格納されるポインタ |
0 | エラーは発生していません |
EINVAL | s 又はv がNULL , s が空文字列の場合 |
EILSEQ | s に数値以外の文字が含まれた場合(strtol() 関数とは違い先頭に空白がある場合はエラー) |
ERANGE | 値がuint32_t 型に入りきらない場合、先頭に'-'が見つかった場合 |
strtoul()
関数を呼び出しています。 strtoul()
関数を利用しないStrToFallback()
も実装されていて、適切なstrtoul()
が実装されていない環境ではStrToFallback()
が実行されます。
|
noexcept |
文字列s
をuint64_t
型の整数に変換します。
[in] | s | 変換対象となる文字列 |
[in] | base | 基数 |
[out] | v | 変換された値が格納されるポインタ |
0 | エラーは発生していません |
EINVAL | s 又はv がNULL , s が空文字列の場合 |
EILSEQ | s に数値以外の文字が含まれた場合(strtol() 関数とは違い先頭に空白がある場合はエラー) |
ERANGE | 値がuint64_t 型に入りきらない場合、先頭に'-'が見つかった場合 |
strtoull()
関数を呼び出しています。 strtoull()
関数を利用しないStrToFallback()
も実装されていて、適切なstrtoull()
が実装されていない環境ではStrToFallback()
が実行されます。
|
noexcept |
文字列s
をdouble
型に変換します。
[in] | s | 変換対象となる文字列 |
[out] | v | 変換された値が格納されるポインタ |
0 | エラーは発生していません |
EINVAL | s 又はv がNULL , s が空文字列の場合 |
EILSEQ | s に数値以外の文字が含まれた場合(strtod() 関数とは違い先頭に空白がある場合はエラー) |
ERANGE | オーバーフロー又はアンダーフローの場合 |
strtod()
関数を呼び出しています。 strtod()
関数を利用しないStrToFallback()
も実装されていて、適切なstrtod()
が実装されていない環境ではStrToFallback()
が実行されます。
|
noexcept |
文字列sをfloat
型に変換します。
[in] | s | 変換対象となる文字列 |
[out] | v | 変換された値が格納されるポインタ |
0 | エラーは発生していません |
EINVAL | s 又はv がNULL , s が空文字列の場合 |
EILSEQ | s に数値以外の文字が含まれた場合(strtod() 関数とは違い先頭に空白がある場合はエラー) |
ERANGE | オーバーフロー又はアンダーフローの場合 |
strtod()
関数を呼び出しています。 strtod()
関数を利用しないStrToFallback()
も実装されていて、適切なstrtod()
が実装されていない環境ではStrToFallback()
が実行されます。
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
std::tolower(static_cast<unsigned char>(c))
を返します。
[in] | c | 変換する文字 |
std::tolower()
の戻り値
|
inlinenoexcept |
std::toupper(static_cast<unsigned char>(c))
を返します。
[in] | c | 変換する文字 |
std::toupper()
の戻り値
|
inlinenoexcept |
vsnprintf()
を実行します。
[out] | buf | 文字列の格納バッファ |
[in] | size | バッファ・サイズ(文字数) |
[in] | fmt | 書式の指定 |
[in] | args | 引数リストへのポインタ |
buf
の最後にはヌル文字が書き込まれます。 呼び出し後にユーザーがva_end
を呼び出す必要があります。 vsnprintf
を実行しますが、エラー値等の動作の細部はプラットフォームにより異なることがあります。
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
noexcept |
VsnPrintf
のフォールバックです。ワイド文字版も実装されています。
[out] | buf | 文字列の格納バッファ |
[in] | size | バッファ・サイズ(文字数) |
[in] | fmt | 書式の指定 |
[in] | args | 引数リストへのポインタ |
vsnprintf
が存在しない環境か、それに類する環境においてVsnPrintf
から呼び出されます。 この関数を直接呼び出すことも可能です。 現在のところ浮動小数点型については指数表現は行われません。 errno
にエラー値が設定されます(errno
が存在する環境の場合)。 #
, xとX変換の場合、数値が0でないときに文字列0x(又は0X)が前に追加されます。また、o変換の場合、数値が0でないときに文字0が前に追加されます。 0
, 変換された値の左側を空白ではなく0で埋めます。'-'が指定されている場合には無視されます。精度が指定されている場合には無視されます。 -
, 左詰めにします。 +
, 符号付き変換された数値の前に、常に符号が置かれます。 int
型の値である必要があります。 hh
, 引数がchar
又はunsigned char
である場合 h
, 引数がshort
又はunsigned short
である場合 l
, 引数がlong
又はunsigned long
である場合 ll
, 引数がlong long
又はunsigned long long
である場合 z
, 引数がsize_t
である場合 d
, i
, 符号付き整数 o
, u
, x
, X
, 符号なし整数 c
, 文字(char
型) s
, 文字列(const char*
型), %ls
の場合はconst wchar_t*
型の文字列であるとされますが、下位8bitに対応する文字が出力されます。 p
, ポインタアドレスを16進数で出力します。 © 2013, 2014, 2015 Nintendo Co., Ltd. All rights reserved.