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-ballo has quit [Read error: Connection reset by peer]
K-ballo has joined #ste||ar
K-ballo has quit [Remote host closed the connection]
hkaiser has quit [Quit: Bye!]
K-ballo has joined #ste||ar
K-ballo1 has joined #ste||ar
K-ballo has quit [Ping timeout: 246 seconds]
K-ballo1 is now known as K-ballo
Yorlik has joined #ste||ar
K-ballo1 has joined #ste||ar
K-ballo has quit [Ping timeout: 264 seconds]
K-ballo1 is now known as K-ballo
hkaiser has joined #ste||ar
<Yorlik> hkaiser: YT?
<hkaiser> here
<hkaiser> almost ;-)
<Yorlik> Is there a particular reason why buffers use char and not e.g. uint8_t?
<hkaiser> what buffers?
<Yorlik> In hpx serialization
<hkaiser> in HPX itself?
<Yorlik> In one occasion I had conversion issues.
<Yorlik> No - when using serialization for our library
<Yorlik> It was at some very low level, I belöieve
<hkaiser> you decide what buffers to use, yes?
<Yorlik> Yes
<Yorlik> In the moment I am working with a vector, but making it <uint8_t> busted
<Yorlik> char was accepted
<hkaiser> interesting
<hkaiser> I was not aware of that
<Yorlik> If that shouldn't be the case I'll dig deeper if I did something wrong
<hkaiser> no, it's a flaw in our code
<Yorlik> BecaUSE USUALLY THAT#S THE MOST LIKELY CAUSE .8
<hkaiser> it should just work
<Yorlik> Woops
<Yorlik> OK
<Yorlik> I'll do some digging and testing.
<hkaiser> just create a ticket with a small reproducing case, please - I'll have a look
<Yorlik> BTW - is there a non copying way to cast a vector into another type, e.g. char-> uint8_t?
<hkaiser> unfortunately not - it's a C++ language problem
<Yorlik> ic:
<Yorlik> Allright - going heads down again. :)
<Yorlik> hkaiser: You still here?
<hkaiser> here
<Yorlik> Would you have a moment in voice?
<hkaiser> a bit later?
<Yorlik> Possible - I'm off in between, but sure!
<hkaiser> 9 my time (16 Uhr)?
<Yorlik> Sounds good!
<hkaiser> k
hkaiser has quit [Quit: Bye!]
K-ballo1 has joined #ste||ar
K-ballo has quit [Ping timeout: 268 seconds]
K-ballo1 is now known as K-ballo
K-ballo has quit [Ping timeout: 272 seconds]
hkaiser has joined #ste||ar
<hkaiser> Yorlik: yt?
K-ballo has joined #ste||ar
<Yorlik> hkaiser: here
<Yorlik> I used the time to bring our hydraulic woodsplitter to the repair shop.
<Yorlik> Allright - I'm in
hkaiser_ has joined #ste||ar
hkaiser has quit [Ping timeout: 255 seconds]
hkaiser_ has quit [Ping timeout: 255 seconds]
hkaiser has joined #ste||ar
K-ballo1 has joined #ste||ar
K-ballo has quit [Ping timeout: 272 seconds]
K-ballo1 is now known as K-ballo
hkaiser has quit [Ping timeout: 248 seconds]
hkaiser has joined #ste||ar
hkaiser has quit [Quit: Bye!]
<satacker[m]> Hi gonidelis @hkaiser : I think I have handled the cases where completion_signatures::sends_stopped is false and true.
<satacker[m]> Please have a look (no hurry) https://github.com/STEllAR-GROUP/hpx/pull/5920
<john98zakaria[m]> > <@satacker:matrix.org> Hi gonidelis @hkaiser : I think I have handled the cases where completion_signatures::sends_stopped is false and true.
<john98zakaria[m]> > Please have a look (no hurry) https://github.com/STEllAR-GROUP/hpx/pull/5920
<john98zakaria[m]> This sounds interesting, could you briefly tell me what that is?
hkaiser has joined #ste||ar
K-ballo1 has joined #ste||ar
<satacker[m]> s/@//, s/completion_signatures/completion\_signatures/, s/sends_stopped/sends\_stopped/
K-ballo has quit [Ping timeout: 264 seconds]
K-ballo1 is now known as K-ballo
<hkaiser> satacker[m]: will have a look, thanks!
<gonidelis[m]> what does it mean for a template argument to be just `class`?
<gonidelis[m]> like `template <class> ....`
<satacker[m]> anonymous type?
<gonidelis[m]> ??
<satacker[m]> * <del>anonymous type?</del> nope, oops
<gonidelis[m]> darn
<gonidelis[m]> K-ballo: hkaiser anyone?
<hkaiser> gonidelis[m]: 'typename' and 'class' are equivalent in that context
<gonidelis[m]> yeah sure
<gonidelis[m]> i am just asking what does just `<class>` mean
<gonidelis[m]> with no name
<satacker[m]> maybe we just keep it optional to name the type
<hkaiser> it means the same as if you wrote void foo(int) {...}, i.e. simply leave off the name of the argument if it's not needed
<gonidelis[m]> and this is used basically for ADL matching?
<hkaiser> depends on the context
<gonidelis[m]> right?
<hkaiser> gonidelis[m]: could be a template template argument
<gonidelis[m]> hkaiser: it is!
<gonidelis[m]> wow how 'd u knew
<hkaiser> template <template <class> Foo> struct {...};
<gonidelis[m]> yes! what's the purpose of that?
<hkaiser> matches any template that expects one template argument
<gonidelis[m]> !
<hkaiser> before c++17 you had to use <class> in this context nowadays you could write <typename> as well
<satacker[m]> TIL
<gonidelis[m]> a template that takes a template is super scary
<hkaiser> it's like a function that takes a function
<satacker[m]> It's similar to the variant of tuples unpacking ?
<hkaiser> void foo(void (*f)(int)) {}
<hkaiser> satacker[m]: yes
<hkaiser> satacker[m]: well, no ;-)
<hkaiser> it's used by the value_type_of_t and error_types_of_t facilities for instance
<hkaiser> satacker[m]: the unpacking was just based on (partial) template specialization
<satacker[m]> Yes it was a partial template specialization, glad I know
<satacker[m]> I thought of variant<tuple<T>> as nested templates
<hkaiser> that's not a template template
<satacker[m]> <hkaiser> "template <template <class> Foo..." <- What is the type Foo exactly?
<hkaiser> it would be one if you wrote 'variant<tuple>' (which is not a thing obviously)
<hkaiser> Foo is _any_ template that expects one template argument
<satacker[m]> hkaiser: okay, but if it was written like template<template<typename T>> ?
<hkaiser> satacker[m]: I don't understand
<satacker[m]> As per first line pack is a template expecting one argument,
<satacker[m]> s/pack/Pack/
<hkaiser> satacker[m]: no, line 15 defines pack
<hkaiser> Pack is the template template argument name, i.e. may refer to any variadic template type, like tuple, variant, or pack
<hkaiser> sorry, line one was wrong, please refresh
<hkaiser> yah, you don't actually use tuple_type, otherwise it would have failed
<hkaiser> hmmm, or not :/
<hkaiser> yah, try clang
<hkaiser> that fails
<satacker[m]> yes, it did
<hkaiser> making Pack variadic fixes it
<satacker[m]> gcc, why did it compile it?
<hkaiser> compiler bug
<satacker[m]> Okay, got your point on template template
<satacker[m]> Wasn't it a serious bug?
<hkaiser> template templates are used sparingly, usually - nobody might have noticed ;-)
<satacker[m]> Well, thanks
<satacker[m]> Also I'll see what's next for p2300 co await integration, will post it here by today night currently 02:40 , so by 20:00 probably
<hkaiser> sure
Yorlik_ has joined #ste||ar
Yorlik has quit [Ping timeout: 240 seconds]
K-ballo1 has joined #ste||ar
K-ballo has quit [Ping timeout: 264 seconds]
K-ballo1 is now known as K-ballo