38 #ifndef STORAGE_POLICY_H_INCLUDED
39 #define STORAGE_POLICY_H_INCLUDED
47 #if defined(_WIN32) && defined(_HAS_TR1)
48 using std::tr1::shared_ptr;
50 using std::shared_ptr;
68 template <
bool IsBufferedT>
70 : std::integral_constant<bool, IsBufferedT>
72 typedef unsigned char data_type;
73 typedef data_type* pointer;
74 typedef const data_type* const_pointer;
75 typedef std::shared_ptr<data_type> s_pointer;
76 typedef std::weak_ptr<data_type> w_pointer;
89 s_pointer spBuffer(
new(std::nothrow) data_type[size]);
121 bool read ( const_pointer pBuffer,
124 std::ptrdiff_t offset)
149 const void* pStorage,
151 std::ptrdiff_t offset)
153 ::memcpy( pBuffer + offset,
160 typedef StoragePolicy<false> DirectMemStoragePolicy;
161 typedef StoragePolicy<true> BufferedStoragePolicy;