3 #ifndef INCLUDE_NN_NLIB_INPUTCONVERTERSTREAM_H_
4 #define INCLUDE_NN_NLIB_INPUTCONVERTERSTREAM_H_
13 virtual ~InputTransform() {}
22 virtual errno_t Transform(InputStream* is,
void* p,
size_t size,
size_t* n) = 0;
26 virtual void* GetWorkBuffer(
size_t* n) = 0;
29 virtual errno_t OnSetStream(InputStream* is) = 0;
52 virtual
void* GetWorkBuffer_(
size_t* nBytes) NLIB_NOEXCEPT
NLIB_OVERRIDE NLIB_FINAL;
56 InputTransform* m_Cvtr;
63 template <class TRANSFORM>
66 typedef TRANSFORM TransformType;
72 void SetTransform(InputTransform* cvtr) NLIB_NOEXCEPT {
74 errno_t e = InputConverterStream::SetTransform(cvtr);
79 TRANSFORM m_Transform;
87 #endif // INCLUDE_NN_NLIB_INPUTCONVERTERSTREAM_H_
#define NLIB_NOEXCEPT
Defines noexcept geared to the environment, or the equivalent.
#define NLIB_FINAL
Defines final if it is available for use. If not, holds an empty string.
#define NLIB_DISALLOW_COPY_AND_ASSIGN(TypeName)
Prohibits use of the copy constructor and assignment operator for the class specified by TypeName...
#define NLIB_OVERRIDE
Defines override if it is available for use. If not, holds an empty string.