AM Daemon ライブラリリファレンス
公開メンバ関数 | 全メンバ一覧
amdaemon::util::WinsockScope クラス

Winsockの初期化と解放を行うRAIIクラス。 [詳解]

#include <WinsockScope.h>

公開メンバ関数

 WinsockScope (int major=2, int minor=0)
 コンストラクタ。 [詳解]
 
 WinsockScope (WinsockScope &&src)
 ムーブコンストラクタ。 [詳解]
 
 ‾WinsockScope ()
 デストラクタ。 [詳解]
 
WinsockScopeoperator= (WinsockScope &&r)
 ムーブ代入演算子のオーバロード。 [詳解]
 
bool valid () const
 コンストラクタ処理の成否を取得する。 [詳解]
 
int getErrorCode () const
 Windows API 関数 WSAStartup の戻り値を取得する。 [詳解]
 
 operator bool_type () const
 コンストラクタ処理の成否を表す真偽値相当の値への型変換関数。 [詳解]
 

詳解

Winsockの初期化と解放を行うRAIIクラス。

コンストラクタで Windows API 関数 WSAStartup を呼び出し、 デストラクタで Windows API 関数 WSACleanup を呼び出す。 これらの Windows API 関数は内部で参照カウンタを保持しているため、 このクラスのインスタンスを入れ子になった関数等で定義しても問題ない。

非Windows環境では何も行わない。

構築子と解体子

amdaemon::util::WinsockScope::WinsockScope ( int  major = 2,
int  minor = 0 
)

コンストラクタ。

引数
[in]major要求するメジャーバージョン番号。既定値は 2 。
[in]minor要求するマイナーバージョン番号。既定値は 0 。

Windows環境であれば Windows API 関数 WSAStartup を呼び出す。 処理の成否はメンバ関数 valid で取得できる。

amdaemon::util::WinsockScope::WinsockScope ( WinsockScope &&  src)

ムーブコンストラクタ。

引数
[in]srcムーブ元。
amdaemon::util::WinsockScope::‾WinsockScope ( )

デストラクタ。

Windows環境であり、コンストラクタの処理に成功しており、 かつムーブされていなければ Windows API 関数 WSACleanup を呼び出す。

関数詳解

WinsockScope& amdaemon::util::WinsockScope::operator= ( WinsockScope &&  r)

ムーブ代入演算子のオーバロード。

引数
[in]r右辺値。
戻り値
自身の参照。
bool amdaemon::util::WinsockScope::valid ( ) const
inline

コンストラクタ処理の成否を取得する。

戻り値
true成功したか、非Windows環境である場合。
false失敗した場合。
int amdaemon::util::WinsockScope::getErrorCode ( ) const
inline

Windows API 関数 WSAStartup の戻り値を取得する。

戻り値
Windows API 関数 WSAStartup の戻り値。非Windows環境では常に 0 。
amdaemon::util::WinsockScope::operator bool_type ( ) const
inline

コンストラクタ処理の成否を表す真偽値相当の値への型変換関数。

戻り値
メンバ関数 valid の戻り値と同等の値。
覚え書き
ライブラリ実装メモ: VC++2012 は explicit operator をサポートしていないため、 safe bool イディオムを用いている。

このクラス詳解は次のファイルから抽出されました: