Chunks ====== Description ----------- :cpp:class:`Chunk ` is the abstract base class representing a simple typed data buffer. These buffers are used to pass data to and from the library, e.g. as arguments to :cpp:func:`FillChunk ` or :cpp:func:`FillFromChunk `. The concrete implementing classes are defined by the templated class :cpp:class:`GenericChunk `. For convenience we provide typedefs which instantiate :cpp:class:`GenericChunk ` on all the Deephaven types: :cpp:type:`Int8Chunk `, :cpp:type:`Int16Chunk `, :cpp:type:`Int32Chunk `, :cpp:type:`Int64Chunk `, :cpp:type:`FloatChunk `, :cpp:type:`DoubleChunk `, :cpp:type:`BooleanChunk `, :cpp:type:`StringChunk `, and :cpp:type:`DateTimeChunk `. :cpp:class:`GenericChunk ` also supports the methods :cpp:func:`Take ` and :cpp:func:`Drop ` to take slices of the :cpp:class:`GenericChunk `. AnyChunk -------- The :cpp:class:`AnyChunk ` class is a variant value type that can hold one of the concrete Chunk types described above. :cpp:class:`AnyChunk ` is useful in certain limited cases where a factory method needs to create a :cpp:class:`Chunk ` having a dynamically-determined type, not known at compile time. Of course this could also be accomplished by returning a heap-allocated pointer to a :cpp:class:`Chunk `. The rationale for using the variant approach rather than the heap-allocated object approach is for the sake of simplicity and efficiency when using these small objects. One example method that returns an :cpp:class:`AnyChunk ` is :cpp:func:`CreateChunkFor `, which creates a :cpp:class:`Chunk ` with a type appropriate to the passed-in :cpp:class:`ColumnSource `, and wraps that dynamicaly-determined Chunk in an :cpp:class:`AnyChunk ` value. Chunk Declarations ------------------ .. doxygenclass:: deephaven::dhcore::chunk::Chunk :members: .. doxygenclass:: deephaven::dhcore::chunk::GenericChunk :members: .. doxygentypedef:: deephaven::dhcore::chunk::Int8Chunk .. doxygentypedef:: deephaven::dhcore::chunk::Int16Chunk .. doxygentypedef:: deephaven::dhcore::chunk::Int32Chunk .. doxygentypedef:: deephaven::dhcore::chunk::Int64Chunk .. doxygentypedef:: deephaven::dhcore::chunk::FloatChunk .. doxygentypedef:: deephaven::dhcore::chunk::DoubleChunk .. doxygentypedef:: deephaven::dhcore::chunk::BooleanChunk .. doxygentypedef:: deephaven::dhcore::chunk::StringChunk .. doxygentypedef:: deephaven::dhcore::chunk::DateTimeChunk Utility Declarations -------------------- .. doxygenclass:: deephaven::dhcore::chunk::AnyChunk :members: .. doxygenclass:: deephaven::dhcore::chunk::ChunkVisitor :members: .. doxygenclass:: deephaven::dhcore::chunk::ChunkMaker :members: