5#include "../global.hpp"
6#include "../_cexports/c_img.h"
16 inline HandleGuard<Spectral::WrappedCube>::HandleGuard(
void * handle) noexcept
17 : HandleGuard<Spectral::WrappedCube>(handle, [](
void* handle) { CVB_CALL_CAPI(ReleaseObject(handle)); })
49 int numSamples,
int numLines,
int numBands,
Cvb::DataType datatype,
50 intptr_t sampleInc, intptr_t lineInc, intptr_t bandInc)
54 return Internal::DoResCallObjectOut<WrappedCube>([&](
void* & cubeOut)
56 return CVB_CALL_CAPI(CVSCreateCubeFromPointer(pBase,
59 [](
void *,
void *) {},
nullptr,
92 :
Cube(std::move(guard))
97 :
Cube(HandleGuard<Cube>(std::move(other.Handle())))
101 WrappedCube & operator=(WrappedCube && other) =
default;
108 using Spectral::WrappedCube;
Data type description for an image plane.
Definition: data_type.hpp:28
int NativeDescriptor() const noexcept
Native data type descriptor.
Definition: data_type.hpp:322
Spectral Cube object.
Definition: cube.hpp:51
Spectral Wrapped cube objects are linear non-owning cubes.
Definition: wrapped_cube.hpp:31
static std::unique_ptr< WrappedCube > Create(void *pBase, int numSamples, int numLines, int numBands, Cvb::DataType datatype, intptr_t sampleInc, intptr_t lineInc, intptr_t bandInc)
Creates a wrapped cube object of type linear non-owning.
Definition: wrapped_cube.hpp:48
static std::unique_ptr< WrappedCube > FromHandle(HandleGuard< WrappedCube > &&guard)
Creates wrapped cube from a classic API handle.
Definition: wrapped_cube.hpp:84
void * Handle() const noexcept
Returns C-API style handle to the Cube.
Definition: wrapped_cube.hpp:69
Root namespace for the Image Manager interface.
Definition: c_barcode.h:24