| 
|   | save_var_t (const std::string &name_, const std::string &type_, unsigned num_channels_, const mha_real_t rate_, const lsl::channel_format_t format_, const std::string &source_id_, void *data_) | 
|   | C'tor of specialization for complex types.  More...
  | 
|   | 
| virtual void *  | get_buf_address () const noexcept override | 
|   | 
| virtual void  | set_buf_address (void *data) override | 
|   | 
| virtual lsl::stream_info  | info () const noexcept override | 
|   | Get buffer address as void pointer.  More...
  | 
|   | 
| virtual unsigned  | data_type () const noexcept override | 
|   | Cast the input pointer to the appropriate type and set the buffer address.  More...
  | 
|   | 
| virtual  | ~save_var_t ()=default | 
|   | 
| virtual void  | send_frame (unsigned num_entries) override | 
|   | Send a frame of complex types.  More...
  | 
|   | 
| virtual  | ~save_var_base_t ()=default | 
|   | 
Template specialization of the ac2lsl bridge to take care of complex numbers. 
This specialization is needed because lsl does not support complex numbers. Order is [re(0), im(0), re(1), im(1), ....] 
 
Send a frame of complex types. 
Complex numbers are stored as alternating real and imaginary parts. An array of complex numbers in memory can be reinterpreted as a vector of real numbers that correspond to real and imaginary parts. LSL does not support complex types directly. Send one vector containing {buf[0].re,buf[0].im,buf[1].re,buf[1].im,...} instead. 
Implements ac2lsl::save_var_base_t.