Main Page | Modules | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members | Related Pages

WvTypedEncoder< IT, OT, S > Class Template Reference

#include <wvtypedencoder.h>

Inheritance diagram for WvTypedEncoder< IT, OT, S >:

Inheritance graph
[legend]
List of all members.

Detailed Description

template<class IT, class OT, class S = WvEncoder>
class WvTypedEncoder< IT, OT, S >

This template facilitates the creation and use of encoders that manipulate typed buffers.

A typed encoder accepts both typed and untyped buffers, but is implementated in terms of typed buffers. Untyped buffers are automatically wrapped into the required form before being passed on to the implementation.

This type is designed to function as a statically bound mixin to make it easier to incorporate typed encoders into untyped encoder hierarchies. This is somewhat ugly, but necessary.

"IT" is the input buffer datatype "OT" is the output buffer datatype "S" is the WvEncoder supertype

See also:
WvEncoder


Public Types

typedef IT IType
typedef OT OType
typedef WvBufBase< IType > IBuffer
typedef WvBufBase< OType > OBuffer
typedef WvBufViewBase< IType > IBufferView
typedef WvBufViewBase< OType > OBufferView

Public Member Functions

bool encode (IBuffer &inbuf, OBuffer &outbuf, bool flush=false, bool finish=false)
 Typed variant of encode().
bool flush (IBuffer &inbuf, OBuffer &outbuf, bool finish=false)
 Typed variant of flush().
bool finish (OBuffer &outbuf)
 Typed variant of finish().
bool encode (WvBuf &inbuf, WvBuf &outbuf, bool flush=false, bool finish=false)
bool flush (WvBuf &inbuf, WvBuf &outbuf, bool finish=false)
bool finish (WvBuf &outbuf)

Protected Member Functions

virtual bool _typedencode (IBuffer &inbuf, OBuffer &outbuf, bool flush)=0
 Typed variant of _encode().
virtual bool _typedfinish (OBuffer &outbuf)
 Typed variant of _finish().
virtual bool _encode (WvBuf &inbuf, WvBuf &outbuf, bool flush)
 Wrapper implementation of _encode().
virtual bool _finish (WvBuf &outbuf)
 Wrapper implementation of _finish().


Member Function Documentation

template<class IT, class OT, class S = WvEncoder>
bool WvTypedEncoder< IT, OT, S >::encode IBuffer inbuf,
OBuffer outbuf,
bool  flush = false,
bool  finish = false
[inline]
 

Typed variant of encode().

See also:
encode(WvBuf&, WvBuf&, bool, bool)

template<class IT, class OT, class S = WvEncoder>
bool WvTypedEncoder< IT, OT, S >::flush IBuffer inbuf,
OBuffer outbuf,
bool  finish = false
[inline]
 

Typed variant of flush().

See also:
flush(WvBuf, WvBuf, bool)

template<class IT, class OT, class S = WvEncoder>
bool WvTypedEncoder< IT, OT, S >::finish OBuffer outbuf  )  [inline]
 

Typed variant of finish().

See also:
finish(WvBuf)

template<class IT, class OT, class S = WvEncoder>
virtual bool WvTypedEncoder< IT, OT, S >::_typedencode IBuffer inbuf,
OBuffer outbuf,
bool  flush
[protected, pure virtual]
 

Typed variant of _encode().

See also:
_encode(WvBuf&, WvBuf&, bool)

Implemented in WvRealToComplexFFTEncoder, WvComplexToRealFFTEncoder, WvPowerSpectrumEncoder, WvFunctorEncoder< IT, OT, FT >, WvOggSpeexEncoder, WvOggSpeexDecoder, WvOggVorbisEncoder, WvOggVorbisDecoder, WvSpeexEncoder, WvFunctorEncoder< float, signed short int, WvPCMNormFloatToSigned16Functor >, WvFunctorEncoder< double, signed short int, WvPCMNormDoubleToSigned16Functor >, WvFunctorEncoder< float, signed short int, WvPCMUnnormFloatToSigned16Functor >, WvFunctorEncoder< signed short int, float, WvPCMSigned16ToNormFloatFunctor >, WvFunctorEncoder< signed short int, double, WvPCMSigned16ToNormDoubleFunctor >, and WvFunctorEncoder< signed short int, float, WvPCMSigned16ToUnnormFloatFunctor >.

template<class IT, class OT, class S = WvEncoder>
virtual bool WvTypedEncoder< IT, OT, S >::_typedfinish OBuffer outbuf  )  [inline, protected, virtual]
 

Typed variant of _finish().

See also:
_finish(WvBuf&)

Reimplemented in WvOggSpeexEncoder, WvOggSpeexDecoder, WvOggVorbisEncoder, WvOggVorbisDecoder, and WvSpeexEncoder.


The documentation for this class was generated from the following file:
Generated on Sun Jul 10 18:28:50 2005 for WvStreams by  doxygen 1.4.0