Skip to content

Commit f4ec130

Browse files
committed
Add macro for shared lib
1 parent bd07284 commit f4ec130

File tree

2 files changed

+12
-8
lines changed

2 files changed

+12
-8
lines changed

include/sparrow-ipc.hpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
#pragma once
2+
13
#include "../include/config/config.hpp"
24

35
SPARROW_IPC_API void fake_func_for_now();

src/serialize.cpp

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
#include <string_view>
77
#include <vector>
88

9+
#include "../include/config/config.hpp"
10+
911
#include "Message_generated.h"
1012
#include "Schema_generated.h"
1113

@@ -47,7 +49,7 @@ namespace
4749
}
4850

4951
template <typename T>
50-
std::vector<uint8_t> serialize_primitive_array(const sparrow::primitive_array<T>& arr)
52+
SPARROW_IPC_API std::vector<uint8_t> serialize_primitive_array(const sparrow::primitive_array<T>& arr)
5153
{
5254
// This function serializes a sparrow::primitive_array into a byte vector that is compliant
5355
// with the Apache Arrow IPC Streaming Format. It constructs a stream containing two messages:
@@ -224,7 +226,7 @@ std::vector<uint8_t> serialize_primitive_array(const sparrow::primitive_array<T>
224226
}
225227

226228
template <typename T>
227-
sparrow::primitive_array<T> deserialize_primitive_array(const std::vector<uint8_t>& buffer) {
229+
SPARROW_IPC_API sparrow::primitive_array<T> deserialize_primitive_array(const std::vector<uint8_t>& buffer) {
228230
const uint8_t* buf_ptr = buffer.data();
229231
size_t current_offset = 0;
230232

@@ -301,9 +303,9 @@ sparrow::primitive_array<T> deserialize_primitive_array(const std::vector<uint8_
301303
}
302304

303305
// Explicit template instantiation
304-
template std::vector<uint8_t> serialize_primitive_array<int>(const sparrow::primitive_array<int>& arr);
305-
template sparrow::primitive_array<int> deserialize_primitive_array<int>(const std::vector<uint8_t>& buffer);
306-
template std::vector<uint8_t> serialize_primitive_array<float>(const sparrow::primitive_array<float>& arr);
307-
template sparrow::primitive_array<float> deserialize_primitive_array<float>(const std::vector<uint8_t>& buffer);
308-
template std::vector<uint8_t> serialize_primitive_array<double>(const sparrow::primitive_array<double>& arr);
309-
template sparrow::primitive_array<double> deserialize_primitive_array<double>(const std::vector<uint8_t>& buffer);
306+
template SPARROW_IPC_API std::vector<uint8_t> serialize_primitive_array<int>(const sparrow::primitive_array<int>& arr);
307+
template SPARROW_IPC_API sparrow::primitive_array<int> deserialize_primitive_array<int>(const std::vector<uint8_t>& buffer);
308+
template SPARROW_IPC_API std::vector<uint8_t> serialize_primitive_array<float>(const sparrow::primitive_array<float>& arr);
309+
template SPARROW_IPC_API sparrow::primitive_array<float> deserialize_primitive_array<float>(const std::vector<uint8_t>& buffer);
310+
template SPARROW_IPC_API std::vector<uint8_t> serialize_primitive_array<double>(const sparrow::primitive_array<double>& arr);
311+
template SPARROW_IPC_API sparrow::primitive_array<double> deserialize_primitive_array<double>(const std::vector<uint8_t>& buffer);

0 commit comments

Comments
 (0)