20 #ifndef PRESSION_DECOMPRESSOR_H 21 #define PRESSION_DECOMPRESSOR_H 24 #include <pression/types.h> 25 #include <lunchbox/thread.h> 29 namespace detail {
class Decompressor; }
38 typedef detail::Decompressor*
const Decompressor::*bool_t;
51 PRESSION_API Decompressor(
PluginRegistry& from,
const uint32_t name );
54 PRESSION_API
virtual ~Decompressor();
57 PRESSION_API
bool isGood()
const;
63 operator bool_t()
const {
return isGood() ? &Decompressor::impl_ : 0; }
66 bool operator ! ()
const {
return !isGood(); }
72 PRESSION_API
bool uses(
const uint32_t name )
const;
85 PRESSION_API
bool setup(
PluginRegistry& from,
const uint32_t name );
88 PRESSION_API
void clear();
101 PRESSION_API
void decompress(
const void*
const* in,
102 const uint64_t*
const inSizes,
103 const unsigned numInputs,
void*
const out,
104 uint64_t outDim[2] );
119 void*
const out, uint64_t pvpOut[4],
120 const uint64_t flags );
121 PRESSION_API
void decompress(
const void*
const* in,
122 const uint64_t*
const inSizes,
123 const unsigned numInputs,
void*
const out,
124 uint64_t pvpOut[4],
const uint64_t flags )
128 Decompressor(
const Decompressor& );
129 Decompressor operator=(
const Decompressor& );
130 detail::Decompressor*
const impl_;
131 LB_TS_VAR( _thread );
134 #endif // PRESSION_DECOMPRESSOR_H Defines export visibility macros for library Pression.
A C++ class to handle one decompressor plugin instance.
Information about one compressor.
A structure to hold the results from one compress operation.
A registry for loaded plugins.