Turi Create  4.0
unity_sframe_builder_interface.hpp
1 /* Copyright © 2017 Apple Inc. All rights reserved.
2  *
3  * Use of this source code is governed by a BSD-3-clause license that can
4  * be found in the LICENSE.txt file or at https://opensource.org/licenses/BSD-3-Clause
5  */
6 #ifndef TURI_UNITY_SFRAME_BUILDER_INTERFACE_HPP
7 #define TURI_UNITY_SFRAME_BUILDER_INTERFACE_HPP
8 #include <vector>
9 #include <string>
10 #include <core/data/flexible_type/flexible_type.hpp>
11 #include <core/system/cppipc/magic_macros.hpp>
12 
13 namespace turi {
14 
15 class unity_sframe_base;
16 
17 GENERATE_INTERFACE_AND_PROXY(unity_sframe_builder_base, unity_sframe_builder_proxy,
18  (void, init, (size_t)(size_t)(std::vector<std::string>)(std::vector<flex_type_enum>)(std::string))
19  (void, append, (const std::vector<flexible_type>&)(size_t))
20  (void, append_multiple, (const std::vector<std::vector<flexible_type>>&)(size_t))
21  (std::vector<std::string>, column_names, )
22  (std::vector<flex_type_enum>, column_types, )
23  (std::vector<std::vector<flexible_type>>, read_history, (size_t)(size_t))
24  (std::shared_ptr<unity_sframe_base>, close, )
25  )
26 
27 } // namespace turi
28 
29 #endif //TURI_UNITY_SFRAME_BUILDER_INTERFACE_HPP
30 #include <model_server/lib/api/unity_sframe_interface.hpp>
#define GENERATE_INTERFACE_AND_PROXY(base_name, proxy_name, functions)