hkaiser changed the topic of #ste||ar to: STE||AR: Systems Technology, Emergent Parallelism, and Algorithm Research | stellar-group.org | HPX: A cure for performance impaired parallel applications | github.com/STEllAR-GROUP/hpx | This channel is logged: irclog.cct.lsu.edu
K-ballo1 has joined #ste||ar
K-ballo has quit [Ping timeout: 260 seconds]
K-ballo1 is now known as K-ballo
Yorlik_ has joined #ste||ar
Yorlik has quit [Ping timeout: 260 seconds]
hkaiser has quit [Quit: Bye!]
Yorlik_ is now known as Yorlik
K-ballo1 has joined #ste||ar
K-ballo has quit [Ping timeout: 276 seconds]
K-ballo1 is now known as K-ballo
<Yorlik>
Is there a way to initialize a vector from a dynamic start* and size_t size without copying and transfer ownership of the memory area to it? We cannot use span in this example, since we are on C++17 and can't go to C++20 (Unreal Engine constraint)? We are interfacing unsafe C code here which requires start* and size (low level networking stuff).
<Yorlik>
Since the data is not yet deserialized and will be copied again, I'd like to save us from at last one copy.
<Yorlik>
My current workaround resorts to memcpy after default initializing the vector, but I don't really like it.
<john98zakaria[m]>
<Yorlik> "Is there a way to initialize a..." <- Check if this could guide you towards the desired solution
<hkaiser>
the intention of your _is_invocable_f_tuple_unpack is to check whether things are invocable, but you're checking whether something is noexcept instead
<satacker[m]>
That is used of the is_nothrow_receiver_of
<hkaiser>
ok
<hkaiser>
I missed that
<hkaiser>
the gist I linked demonstrates how you can easily unpack the variant arguments
<satacker[m]>
Yes, that's much easier and looks neat than the mess I made
<hkaiser>
satacker[m]: for how to debug your issue: I usually take it step by step starting to manually instantiate the traits from the top down until you find the flaw