3DiVi Face SDK  3.24.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Groups
WrapIStream.h
1 #ifndef __PBIO_API__PBIO__STL_WRAPS__WRAP_ISTREAM_H_
2 #define __PBIO_API__PBIO__STL_WRAPS__WRAP_ISTREAM_H_
3 
5 
6 #include <stdint.h>
7 
8 namespace pbio
9 {
10 namespace stl_wraps
11 {
12 
13 // this is interface of the wrapper of std::istream
14 class WrapIStream
15 {
16 public:
17  WrapIStream(){}
18 
19  virtual void read(char* buf, uint64_t size) = 0;
20 
21  static
22  void read_func(void* stream, void* data, uint64_t bytes_count)
23  {
24  ((WrapIStream*)stream)->read((char*) data, bytes_count);
25  }
26 };
27 
28 } // stl_wraps namespace
29 } // pbio namespace
30 
32 
33 #endif // __PBIO_API__PBIO__STL_WRAPS__WRAP_ISTREAM_H_