Tuesday, May 30, 2017

Digest for comp.lang.c++@googlegroups.com - 22 updates in 6 topics

Mr Flibble <flibble@i42.co.uk>: May 30 05:35PM +0100

Hi!
 
Handling a button clicked event in my C++ GUI library "neoGFX" is
simplicity at its finest:
 
button1.clicked([](){ /* do stuff */}); // simplicity
 
This is achieved without the egregious use of macros to auto generate code.
 
http://neogfx.org
 
/Flibble
"Rick C. Hodgin" <rick.c.hodgin@gmail.com>: May 30 02:07PM -0700

On Tuesday, May 30, 2017 at 12:36:04 PM UTC-4, Mr Flibble wrote:
> Handling a button clicked event in my C++ GUI library "neoGFX" is:
> button1.clicked([](){ /* do stuff */}); // simplicity
 
What about parameters passed to the clicked() event? I might want
to know if it was left-clicked, right-clicked, middle-clicked, or
left-and-right clicked, left-and-middle-clicked, double-clicked,
double-right-clicked, etc. And what about the condition of the
modification keys like shift, alt, ctrl? Do you have thread-
level callbacks which support real-time sampling of those values?
What if the code on my clicked() event has to access a remote
Internet connection and it takes 5 seconds to establish a
connection, will the values of shift, ctrl, alt still be held
for me to examine if I poll them at some later point in my
algorithm after many seconds have gone by?
 
And what about code grouping? Am I now having to sift through
my GUI init() code to find all of the algorithms which handle
the various events? I don't have them arranged in a header or
class structure which can use traditional IDE tools to goto
body / definition? Now I'm going to a single init() event and
manually searching page after page for code, or using only a
ctrl+f Find feature of my editor?
 
It might be simple, but unless it provides some real utility in
function and the development environment, then such simplicity
is akin to useless.
 
Thank you,
Rick C. Hodgin
Mr Flibble <flibble@i42.co.uk>: May 30 10:35PM +0100

On 30/05/2017 22:07, Rick C. Hodgin wrote:
> double-right-clicked, etc. And what about the condition of the
> modification keys like shift, alt, ctrl? Do you have thread-
> level callbacks which support real-time sampling of those values?
 
Such information is available allowing such events to be easily created.
Left clicking a button is a common use-case whilst right clicking a
button is a rare use-case. I provide ready baked events for common
use-cases whilst allowing the flexibility to create events for rare
use-cases.
 
> connection, will the values of shift, ctrl, alt still be held
> for me to examine if I poll them at some later point in my
> algorithm after many seconds have gone by?
 
Then you are doing it wrong. A library doesn't have to support doing it
wrong use cases.
 
> body / definition? Now I'm going to a single init() event and
> manually searching page after page for code, or using only a
> ctrl+f Find feature of my editor?
 
You appear to have a beef with C++ lambdas which is foolish as they are
a great improvement to the language. You are not forced to use a lambda
as you can use use anything convertible to a std::function object.
 
> It might be simple, but unless it provides some real utility in
> function and the development environment, then such simplicity
> is akin to useless.
 
It is both simple and provides utility.
 
/Flibble
Christiano <christiano@engineer.com>: May 30 04:56PM -0300

PPP2 [1], appendix E, shows the following code:
 
//--------------begin-------------------------------
template<class T> class Vector_ref {
vector<T*> v;
vector<T*> owned;
public:
Vector_ref() {}
Vector_ref(T* a, T* b = 0, T* c = 0, T* d = 0); // <---- *HERE*
 
~Vector_ref() { for (int i=0; i<owned.size(); ++i) delete owned[i]; }
 
void push_back(T& s) { v.push_back(&s); }
void push_back(T* p) { v.push_back(p); owned.push_back(p); }
 
T& operator[](int i) { return *v[i]; }
const T& operator[](int i) const { return *v[i]; }
 
int size() const { return v.size(); }
};
//----------------end-------------------------------
 
The problem is the line:
Vector_ref(T* a, T* b = 0, T* c = 0, T* d = 0);
 
This constructor doesn't have definition. Did he just forget to write that constructor or it is just a technique?
 
____________
[1] http://www.stroustrup.com/Programming/
Paavo Helde <myfirstname@osa.pri.ee>: May 30 11:19PM +0300

On 30.05.2017 22:56, Christiano wrote:
> PPP2 [1], appendix E, shows the following code:
 
> This constructor doesn't have definition. Did he just forget to write
> that constructor or it is just a technique?
 
Maybe it was left as an exercise for the reader?
Mr Flibble <flibble@i42.co.uk>: May 30 05:33PM +0100

On 29/05/2017 23:03, Rick C. Hodgin wrote:
> Leigh. It's why you can't hear it today. You aren't looking for
> the truth, and you have not yet been drawn by God to be able to
> even receive it.
 
Your god doesn't exist though; I know this because I know evolution is a
fact.
 
/Flibble
Melzzzzz <Melzzzzz@zzzzz.com>: May 30 04:36PM

>> even receive it.
 
> Your god doesn't exist though; I know this because I know evolution is a
> fact.
 
Evolution does not debunks gods, rather Bible...
 
 
 
--
press any key to continue or any other to quit...
Mr Flibble <flibble@i42.co.uk>: May 30 05:40PM +0100

On 30/05/2017 17:36, Melzzzzz wrote:
 
>> Your god doesn't exist though; I know this because I know evolution is a
>> fact.
 
> Evolution does not debunks gods, rather Bible...
 
Evolution does not debunk gods in general but it can debunk specific
gods such as Rick's god (the god of Abraham). If you can falsify the
Bible then you can falsify anything predicated on the Bible being true.
 
/Flibble
"Rick C. Hodgin" <rick.c.hodgin@gmail.com>: May 30 09:48AM -0700

On Tuesday, May 30, 2017 at 12:33:36 PM UTC-4, Mr Flibble wrote:
> > even receive it.
 
> Your god doesn't exist though; I know this because I know evolution
> is a fact.
 
You've been taught evolution is a fact, so it's natural to believe
that. But modern DNA / genetics research is proving that evolution
is impossible, outside of minor variations within an already-existing
species, because the complexities involved to get from A to B are
beyond impossible. In fact, the complexities to get from A.00000001
to A.00000002 are beyond impossible.
 
I know it's a difficult pill to swallow, Leigh, but you really have
been lied to by mainstream science and all mainstream knowledge
bases since you were born. It's what the mainstream in this world
does because it's trying to keep you from coming to the truth and
coming to Jesus and asking forgiveness and saving your eternal soul
from death.
 
I ask you to look into the DNA research and see for yourself if
what I claim is true. To find out the complexities involved, and
how many errors are introduced in trying to change even one thing
in the genome, as by moving from A to B.
 
Cats always produce cats. Dogs always produce dogs. There are
never any cases where Xyz produces a non-Xyz, but only there are
pre-programmed, allowable variations within the design, so that
any new changes will only work within their pre-existing allowance
for those changes.
 
Thank you,
Rick C. Hodgin
Melzzzzz <Melzzzzz@zzzzz.com>: May 30 04:56PM


> Evolution does not debunk gods in general but it can debunk specific
> gods such as Rick's god (the god of Abraham). If you can falsify the
> Bible then you can falsify anything predicated on the Bible being true.
 
Bible is easily debunked.
 
--
press any key to continue or any other to quit...
"Rick C. Hodgin" <rick.c.hodgin@gmail.com>: May 30 10:00AM -0700

On Tuesday, May 30, 2017 at 12:56:11 PM UTC-4, Melzzzzz wrote:
> Bible is easily debunked.
 
You're going to be in for a real shocker on that last day, Melzzzzz.
 
I pray you turn to Jesus before that day so you are spared an
eternity consumed in unending Hellfire because you would not
hear the truth in this world).
 
You are valuable, Melzzzzz. Jesus offers you forgiveness without
judgment. He'll begin the process of healing and guiding you from
this day forward, and He'll give you eternal life in the paradise of
Heaven.
 
It is that which the enemy is trying to keep you from by speaking
his lies, as if they are authoritative over God and truth. They are
not. The devil lies for one purpose: to keep you condemned to Hell
with him and his sorry self.
 
Thank you,
Rick C. Hodgin
Mr Flibble <flibble@i42.co.uk>: May 30 06:08PM +0100

On 30/05/2017 17:48, Rick C. Hodgin wrote:
> pre-programmed, allowable variations within the design, so that
> any new changes will only work within their pre-existing allowance
> for those changes.
 
So much gibberish I'm afraid Rick. It is obvious that you do not
understand the process of speciation.
 
/Flibble
"Rick C. Hodgin" <rick.c.hodgin@gmail.com>: May 30 10:22AM -0700

On Tuesday, May 30, 2017 at 1:09:15 PM UTC-4, Mr Flibble wrote:
> It is obvious that you do not understand the process of speciation.
 
There is another model which explains it, Leigh. And that model also
aligns with the flood, and what we see in nature, and in science, and
in laboratories today. It does not require any leaps of faith to
understand, except for one: that we were created by God for a real
purpose. The rest of the things we can examine align perfectly with
the theory.
 
Here's the video that explains it (begins at 7:58):
www.youtube.com/watch?v=KbODW6XO8zY&t=7m58s
 
There are also books and articles. But the gist goes like this:
 
(1) Master kinds of each animal were created by God.
 
(2) They were programmed by God to diversify through
each generation. Adam had all of the different
people forms within him, and each generation created
variations from Adam which went out to the various
forms, which later were used to group people together
at the Tower of Babel, so that like-appearance people
went off to the same areas because they could speak
the same language.
 
(3) This method was to create diverse forms from the
master form over time.
 
(4) We see the same changes today, such as breeding to
particular forms. You cannot go back to the original
form from the more specialized form because there's
been a reduction of genetic expression through the
specialized generations, but you can take the original
form and get once again to the more specialized form
because that information is still there.
 
It's the same with all life.
 
Thank you,
Rick C. Hodgin
Mr Flibble <flibble@i42.co.uk>: May 30 06:30PM +0100

On 30/05/2017 18:22, Rick C. Hodgin wrote:
> form and get once again to the more specialized form
> because that information is still there.
 
> It's the same with all life.
 
You think you have an answer to every rebuttal but alas all your answers
are in fact the same (effectively a jumbly word salad) and of course all
are equally wrong.
 
/Flibble
"Rick C. Hodgin" <rick.c.hodgin@gmail.com>: May 30 10:36AM -0700

On Tuesday, May 30, 2017 at 1:31:14 PM UTC-4, Mr Flibble wrote:
 
> You think you have an answer to every rebuttal but alas all your answers
> are in fact the same (effectively a jumbly word salad) and of course all
> are equally wrong.
 
Have you examined them so you are speaking on exhaustive research?
Or is this conclusion based on what you've been taught previously?
 
It's new research into genetics, Leigh, only conducted within the
last 15 years, and even more specifically findings published only
in the last 3 or 4 years.
 
And the evidence is pointing scientists to a re-examination of their
prior firmly held beliefs.
 
Did you know that over 80% of what was once considered "junk DNA"
has been found operating in a regulatory capacity in our genetic
makeup? And that 80% is admitted by the researchers to be a very
conservative number because they can only scientifically prove
that percentage, but there are hints it is much higher, and many
of the scientists believe they'll eventually find it's 100%.
 
This information is out there, Leigh, but it doesn't get mainstream
publication or acceptance because there's an enemy at work in this
world who wants your soul destroyed in Hell.
 
The truth is before you, Leigh. Seek it out. Search it out. Go
deep and examine far. Do the research on your own, to your own
satisfaction. You'll find what I'm telling you, and not because
I'm somehow imposing a viewpoint upon you, but because it's what
the literal evidence points you toward.
 
-----
I'm asking you to prove to yourself what I'm saying, if it's right
or wrong. It's the only way you can know for sure if the Biblical
viewpoint is correct or not, because right now you're guessing,
and it's a big thing to put a guess on.
 
Thank you,
Rick C. Hodgin
Mr Flibble <flibble@i42.co.uk>: May 30 08:54PM +0100

On 30/05/2017 18:36, Rick C. Hodgin wrote:
> or wrong. It's the only way you can know for sure if the Biblical
> viewpoint is correct or not, because right now you're guessing,
> and it's a big thing to put a guess on.
 
Yet more word salad jumbly.
 
/Flibble
"Rick C. Hodgin" <rick.c.hodgin@gmail.com>: May 30 01:10PM -0700

On Tuesday, May 30, 2017 at 3:54:36 PM UTC-4, Mr Flibble wrote:
> Yet more word salad jumbly.
 
If it were me, I'd want to know. I wouldn't find peace until I knew
if what I "knew" was real, or if it was only something I had been
taught that didn't stand up to direct scrutiny.
 
That's actually how I came to faith, Leigh. I didn't want to guess
I was right, but I wanted to know ... so I began investigating, and
in so doing set my sights on coming to the truth even if it meant
unraveling what I previously thought I knew. I was convinced I was
right, so I was expecting to find my viewpoint. But the truth took
hold of my life and changed everything.
 
-----
There's no shame in being wrong. The enemy we face is not a small
enemy. He's pulled the wool over the eyes of the vast majority of
people on this world because of sin. Satan and his demon agents
are working all around us continually, guiding us, prompting us,
and leading us directly away from the things of God. They make it
easy to follow paths toward self-destruction, and difficult to
follow paths of truth.
 
If you ever come to faith you'll know what I mean.
 
Thank you,
Rick C. Hodgin
Tim Rentsch <txr@alumni.caltech.edu>: May 30 06:53AM -0700

>> it provides a way of "looping" in functions but which still can
>> be 'constexpr'.
 
> Oh, this was relaxed in C++14. [...]
 
Yes I know. I deliberately aim for C++11 compatibility where
I can, not just with constexpr but generally. Also I find a
functional/recursive style is in many cases easier to write
and easier to understand, so I am predisposed to use it in
cases where it isn't really awkward.
"Alf P. Steinbach" <alf.p.steinbach+usenet@gmail.com>: May 30 04:28PM +0200

On 30-May-17 3:53 PM, Tim Rentsch wrote:
> functional/recursive style is in many cases easier to write
> and easier to understand, so I am predisposed to use it in
> cases where it isn't really awkward.
 
OK. I'm sorry but what I wrote
 
> (but Visual C++ 2017 lacks support)
 
was just wrong.
 
As I understand it Visual C++ 2017 eats `constexpr` functions with loops
for breakfast, enthusiastically. It also has modules, C++ 2017 file
system, and possibly coroutine support.
 
But I still haven't managed to fix my config script to use Visual C++
2017 instead of Visual C++ 2015 in the command line.
 
And for some inexplicable reason I keep forgetting that I haven't fixed it.
 
 
Cheers!,
 
- Alf
Ian Collins <ian-news@hotmail.com>: May 31 08:05AM +1200

On 05/31/17 01:53 AM, Tim Rentsch wrote:
 
>> Oh, this was relaxed in C++14. [...]
 
> Yes I know. I deliberately aim for C++11 compatibility where
> I can, not just with constexpr but generally.
 
C++14 is a better target these days, the improvements, while small, were
significant and every compiler I know supports it.
 
--
Ian
aminer68@gmail.com: May 30 10:40AM -0700

Hello..
 
Here is my new arab poem in english and in french:
 
Please read it carefully:
 
https://sites.google.com/site/aminer68/my-poem
 
 
Please read it listening at the same time at this beautiful music of
Vangelis, to be more beautiful:
 
https://www.youtube.com/watch?v=55SVonv-sio
 
 
 
Thank you,
Amine Moulay Ramdane.
Juha Nieminen <nospam@thanks.invalid>: May 30 06:50AM

> I say debugging template, is more difficult that debugging complex C macro...
 
So you said it. Now what? What do you want us to do about it?
You received this digest because you're subscribed to updates for this group. You can change your settings on the group membership page.
To unsubscribe from this group and stop receiving emails from it send an email to comp.lang.c+++unsubscribe@googlegroups.com.

No comments: