nlib
NativePathMapper.h
[詳解]
1 
2 #pragma once
3 #ifndef INCLUDE_NN_NLIB_NATIVEPATHMAPPER_H_
4 #define INCLUDE_NN_NLIB_NATIVEPATHMAPPER_H_
5 
6 #include "nn/nlib/Platform.h"
7 #include "nn/nlib/Nlist.h"
8 
9 NLIB_NAMESPACE_BEGIN
10 
12  public:
15  NLIB_VIS_PUBLIC errno_t AddMap(const char* nativePrefix, const char* uriPrefix) NLIB_NOEXCEPT;
16  NLIB_VIS_PUBLIC errno_t ResolvePath(size_t* count, char* native, size_t n,
17  const char* uriPath) const NLIB_NOEXCEPT;
18  template <size_t N>
19  errno_t ResolvePath(size_t* count, char (&native)[N],
20  const char* uriPath) const NLIB_NOEXCEPT {
21  return ResolvePath(count, native, N, uriPath);
22  }
23 
24  private:
25  struct ConvertMap {
26  char* uri_prefix;
27  size_t uri_prefix_len;
28  char* native_prefix;
29  };
30  Nlist<ConvertMap> m_Map;
31 
32  NLIB_DISALLOW_COPY_AND_ASSIGN(NativePathMapper);
33 };
34 
35 NLIB_NAMESPACE_END
36 
37 #endif // INCLUDE_NN_NLIB_NATIVEPATHMAPPER_H_
#define NLIB_NOEXCEPT
環境に合わせてnoexcept 又は同等の定義がされます。
Definition: Platform.h:2151
#define NLIB_DISALLOW_COPY_AND_ASSIGN(TypeName)
TypeName で指定されたクラスのコピーコンストラクタと代入演算子を禁止します。
Definition: Config.h:126
NativePathMapper() noexcept
コンストラクタです。
基本的なAPIがCベースで宣言されています。
std::vectorに似ていますが、コピーできないオブジェクトを格納可能なクラスが定義されています。 ...
機種依存しないURIによるパス記述からネイティブのパス文字列を得るためのクラスです。 ...
#define NLIB_VIS_PUBLIC
関数やクラス等のシンボルをライブラリの外部に公開します。
Definition: Platform_unix.h:51
int errno_t
intのtypedefで、戻り値としてPOSIXのエラー値を返すことを示します。
Definition: NMalloc.h:24