3 #ifndef INCLUDE_NN_NLIB_FILESTYLEURI_H_
4 #define INCLUDE_NN_NLIB_FILESTYLEURI_H_
18 NLIB_VIS_PUBLIC bool ComposeString(
char* buf,
size_t size) const NLIB_NOEXCEPT NLIB_NONNULL;
20 bool ComposeString(
char (&buf)[N]) const NLIB_NOEXCEPT {
21 return this->ComposeString(buf, N);
25 return m_Segments.GetNumSegment();
28 return m_Segments.GetSegment(i);
31 void Reset() NLIB_NOEXCEPT { m_Segments.Reset(); }
33 return m_Segments.IsDirectory();
37 detail::Segments m_Segments;
43 #endif // INCLUDE_NN_NLIB_FILESTYLEURI_H_
#define NLIB_NOEXCEPT
環境に合わせてnoexcept 又は同等の定義がされます。
#define NLIB_FINAL
利用可能であればfinalが定義されます。そうでない場合は空文字列です。
#define NLIB_DISALLOW_COPY_AND_ASSIGN(TypeName)
TypeName で指定されたクラスのコピーコンストラクタと代入演算子を禁止します。
fileスキームを用いたURIをパースしたりURI文字列を構築したりするためのクラスです。
const char * GetSegment(size_t i) const noexcept
インデックスを指定してセグメントを取得します。
size_t GetNumSegment() const noexcept
格納されているセグメントの数を取得します。
bool IsPathDirectory() const noexcept
パスがディレクトリ形式かどうかを取得します。
void Reset() noexcept
オブジェクトを初期化(リセット)します。
一般的なURIをパースしたり構築したりするためのクラスです。
FileStyleUri() noexcept
デフォルトコンストラクタです。オブジェクトを初期化します。