↰ Return to documentation for file (morpheus/_lib/include/morpheus/messages/meta.hpp
)
#pragma once
#include "morpheus/objects/data_table.hpp"// for IDataTable
#include "morpheus/objects/table_info.hpp"
#include <cudf/io/types.hpp>
#include <cudf/types.hpp>// for size_type
#include <pybind11/pytypes.h>
#include <cstddef>// for size_t
#include <memory>
#include <string>
namespace morpheus {
#pragma GCC visibility push(default)
/****** Component public implementations ******************/
/****** MessageMeta****************************************/
class MessageMeta
{
public:
pybind11::object get_py_table() const;
size_t count() const;
TableInfo get_info() const;
static std::shared_ptr<MessageMeta> create_from_python(pybind11::object&& data_table);
static std::shared_ptr<MessageMeta> create_from_cpp(cudf::io::table_with_metadata&& data_table,
int index_col_count = 0);
private:
MessageMeta(std::shared_ptr<IDataTable> data);
static pybind11::object cpp_to_py(cudf::io::table_with_metadata&& table, int index_col_count = 0);
std::shared_ptr<IDataTable> m_data;
};
/****** MessageMetaInterfaceProxy**************************/
struct MessageMetaInterfaceProxy
{
static std::shared_ptr<MessageMeta> init_cpp(const std::string& filename);
static std::shared_ptr<MessageMeta> init_python(pybind11::object&& data_frame);
static cudf::size_type count(MessageMeta& self);
static pybind11::object get_data_frame(MessageMeta& self);
};
#pragma GCC visibility pop// end of group
} // namespace morpheus