IOLink 1.16.1
Loading...
Searching...
No Matches
DataFrameViewFactory.h
1#pragma once
2
3#include <memory>
4#include <string>
5
6#include <iolink/DataType.h>
7#include <iolink/IOLinkAPI.h>
8#include <iolink/Vector.h>
9#include <iolink/view/DataFrameView.h>
10
11namespace iolink
12{
13
14// Forward declaration of DataFrameView to avoid circular dependency
15class TensorView;
16
17class IOLINK_API DataFrameViewFactory
18{
19public:
38 static std::shared_ptr<DataFrameView> allocate(const Vector2u64& shape,
39 const std::string* columnNames,
40 const DataType* columnDataTypes);
41
46 static std::shared_ptr<DataFrameView> allocate();
47
65 static std::shared_ptr<DataFrameView> concatenateRows(std::shared_ptr<DataFrameView> df1,
66 std::shared_ptr<DataFrameView> df2);
67
83 static std::shared_ptr<DataFrameView> fromTensor(std::shared_ptr<TensorView> tensor,
84 const std::string* columnNames,
85 size_t count);
86};
87
88} // end namespace iolink