Column Sources ============== Description ----------- A :cpp:class:`ColumnSource ` is an abstract class representing a Deephaven column. It represents a read-only view on that column. There is a derived class, :cpp:class:`MutableColumnSource `, which provides a writable interface. You can access the data in a :cpp:class:`ColumnSource ` via its :cpp:func:`FillChunk ` and :cpp:func:`FillChunkUnordered ` methods. Likewise, you can store data into a :cpp:class:`MutableColumnSource ` via its :cpp:func:`FillFromChunk ` and :cpp:func:`FillFromChunkUnordered ` methods. These methods provide "bulk transfer" of data into and out of a :cpp:class:`ColumnSource `. We do not provide any methods to access single elements of a :cpp:class:`ColumnSource ` because we want to encourage callers to use the more efficient bulk transfer methods. The :cpp:class:`ColumnSource ` hierarchy is further divided into the generic type :cpp:class:`GenericColumnSource ` and its mutable counterpart :cpp:class:`MutableGenericColumnSource `. These types are generic on the element type they contain. Supported types --------------- The following types are supported ======================= ========================= Java type C++ type ======================= ========================= byte int8_t short int16_t int int32_t long int64_t float float double double boolean bool char char16_t java.lang.String std::string java.time.ZonedDateTime :cpp:class:`DateTime ` java.time.LocalDate :cpp:class:`LocalDate ` java.time.LocalTime :cpp:class:`LocalTime ` ======================= ========================= as well as lists of the above. Lists are stored in a custom container; the element type is std::shared_ptr<:cpp:type:`ContainerBase `> :cpp:type:`ContainerBase ` is described :doc:`in the section on Containers `. For these types we have a set of convenience typedefs: * :cpp:type:`Int8ColumnSource ` * :cpp:type:`Int16ColumnSource ` * :cpp:type:`Int32ColumnSource ` * :cpp:type:`Int64ColumnSource ` * :cpp:type:`FloatColumnSource ` * :cpp:type:`DoubleColumnSource ` * :cpp:type:`BooleanColumnSource ` * :cpp:type:`StringColumnSource ` * :cpp:type:`DateTimeColumnSource ` * :cpp:type:`LocalDateColumnSource ` * :cpp:type:`LocalTimeColumnSource ` * :cpp:type:`ContainerBaseColumnSource ` Declarations ------------ .. doxygenclass:: deephaven::dhcore::column::ColumnSource :members: .. doxygenclass:: deephaven::dhcore::column::MutableColumnSource :members: .. doxygenclass:: deephaven::dhcore::column::GenericColumnSource :members: .. doxygenclass:: deephaven::dhcore::column::MutableGenericColumnSource :members: .. doxygentypedef:: deephaven::dhcore::column::Int8ColumnSource .. doxygentypedef:: deephaven::dhcore::column::Int16ColumnSource .. doxygentypedef:: deephaven::dhcore::column::Int32ColumnSource .. doxygentypedef:: deephaven::dhcore::column::Int64ColumnSource .. doxygentypedef:: deephaven::dhcore::column::FloatColumnSource .. doxygentypedef:: deephaven::dhcore::column::DoubleColumnSource .. doxygentypedef:: deephaven::dhcore::column::BooleanColumnSource .. doxygentypedef:: deephaven::dhcore::column::StringColumnSource .. doxygentypedef:: deephaven::dhcore::column::DateTimeColumnSource .. doxygentypedef:: deephaven::dhcore::column::LocalDateColumnSource .. doxygentypedef:: deephaven::dhcore::column::LocalTimeColumnSource .. doxygentypedef:: deephaven::dhcore::column::ContainerBaseColumnSource Utility Declarations -------------------- .. doxygenclass:: deephaven::dhcore::column::ColumnSourceVisitor :members: