STADLS
playback_program_builder.h
Go to the documentation of this file.
1 #pragma once
2 #include "haldls/cerealization.h"
3 #include "haldls/vx/v2/container.h"
4 #include "lola/vx/v2/container.h"
5 #include "stadls/vx/genpybind.h"
8 #include "stadls/vx/v2/dumper.h"
9 
10 namespace stadls::vx {
11 
12 namespace detail {
13 
14 extern template SYMBOL_VISIBLE std::ostream& operator<<(
15  std::ostream&,
20 
21 } // namespace detail
22 
23 extern template class SYMBOL_VISIBLE stadls::vx::detail::PlaybackProgramBuilderAdapter<
27 
28 namespace v2 GENPYBIND_TAG_STADLS_VX_V2 {
29 
34 
40 PlaybackProgramBuilder GENPYBIND(visible)
42 
49 
54 PlaybackProgramBuilder GENPYBIND(visible)
55  convert_to_builder(Dumper::done_type const& cocos) SYMBOL_VISIBLE;
56 
57 } // namespace v2
58 
59 #define PLAYBACK_CONTAINER(_Name, Type) \
60  extern template void v2::PlaybackProgramBuilder::write<Type>( \
61  typename Type::coordinate_type const& coord, Type const& config, \
62  haldls::vx::Backend backend); \
63  extern template void v2::PlaybackProgramBuilder::write<Type>( \
64  typename Type::coordinate_type const& coord, Type const& config); \
65  extern template void v2::PlaybackProgramBuilder::write<Type>( \
66  typename Type::coordinate_type const& coord, Type const& config, \
67  Type const& config_reference, haldls::vx::Backend backend); \
68  extern template void v2::PlaybackProgramBuilder::write<Type>( \
69  typename Type::coordinate_type const& coord, Type const& config, \
70  Type const& config_reference); \
71  extern template PlaybackProgram::ContainerTicket<Type> \
72  v2::PlaybackProgramBuilder::read<typename Type::coordinate_type>( \
73  typename Type::coordinate_type const& coord, haldls::vx::Backend backend); \
74  extern template PlaybackProgram::ContainerTicket<Type> \
75  v2::PlaybackProgramBuilder::read<typename Type::coordinate_type>( \
76  typename Type::coordinate_type const& coord);
77 #pragma push_macro("PLAYBACK_CONTAINER")
78 #include "haldls/vx/v2/container.def"
79 #pragma pop_macro("PLAYBACK_CONTAINER")
80 #include "lola/vx/v2/container.def"
81 
82 } // namespace stadls::vx
83 
84 EXTERN_INSTANTIATE_CEREAL_SERIALIZE(stadls::vx::v2::PlaybackProgramBuilder)
Sequential stream of executable instructions for the executor and result-container for event response...
Dumper implements an interface derived from fisch::vx::PlaybackProgramBuilder.
Definition: dumper.h:26
#define GENPYBIND_TAG_STADLS_VX_V2
Definition: genpybind.h:5
std::ostream & operator<<(std::ostream &os, Dumper< T > const &builder) SYMBOL_VISIBLE
stadls::vx::PlaybackProgram PlaybackProgram
PlaybackProgramBuilder convert_to_builder(PlaybackProgramBuilderDumper &dumper) SYMBOL_VISIBLE
Convert a PlaybackProgramBuilderDumper to a PlaybackProgramBuilder.
detail::PlaybackProgramBuilderAdapter< fisch::vx::PlaybackProgramBuilder, PlaybackProgram, CoordinateToContainer > PlaybackProgramBuilder
Given a coordinate type, resolves the corresponding unique container type.