2#include <ossia/network/osc/detail/osc_common_policy.hpp> 
    3#include <ossia/network/osc/detail/osc_utils.hpp> 
    4#include <ossia/network/value/value.hpp> 
    6#include <boost/endian/conversion.hpp> 
    8#include <oscpack/osc/OscOutboundPacketStream.h> 
    9#include <oscpack/osc/OscTypes.h> 
   15struct osc_1_0_outbound_dynamic_policy : osc_common_outbound_dynamic_policy
 
   17  using osc_common_outbound_dynamic_policy::operator();
 
   21  void operator()(impulse)
 const { p << int32_t(0); }
 
   23  void operator()(
bool b)
 const { p << int32_t(b); }
 
   25  void operator()(
char c)
 const { p << int32_t(c); }
 
   28  void operator()(
const std::vector<value>& t)
 const 
   30    for(
const auto& val : t)
 
   36  void operator()(
const value_map_type& t)
 const 
   38    for(
const auto& [k, v] : t)
 
   46struct osc_1_0_outbound_stream_visitor : osc_1_0_outbound_dynamic_policy
 
   48  using osc_1_0_outbound_dynamic_policy::operator();
 
   49  void operator()(impulse)
 const { }
 
   51  void operator()(
const std::vector<value>& t)
 const 
   56    static_cast<const osc_1_0_outbound_dynamic_policy&
>(*this)(t);
 
   60struct osc_1_0_outbound_static_policy : osc_common_outbound_static_policy
 
   62  using osc_common_outbound_static_policy::operator();
 
   63  std::size_t operator()(
char* buffer, ossia::impulse v, 
const auto&...) const noexcept
 
   73  std::size_t operator()(
char* buffer, 
bool v) 
const noexcept 
   75    return osc_common_outbound_static_policy::operator()(buffer, int32_t{v});
 
   78  std::size_t operator()(
char* buffer, 
char v) 
const noexcept 
   80    return osc_common_outbound_static_policy::operator()(buffer, int32_t{v});
 
   86  using static_policy = osc_1_0_outbound_static_policy;
 
   87  using dynamic_policy = osc_1_0_outbound_dynamic_policy;