Monday, January 4, 2021

Digest for comp.lang.c++@googlegroups.com - 25 updates in 5 topics

"Rick C. Hodgin" <rick.c.hodgin@gmail.com>: Jan 03 06:36PM -0500

On 1/3/21 12:58 PM, Rick C. Hodgin wrote:
 
> It's dangerous to blindly accept what those people in power want to give
> you.  It's worth being cautious, and waiting if you are not in a high
> health risk group, which most of us aren't.
 
Note: The words above are cautionary. Be careful. Think.
 
-----
I went out to the grocery tonight. It's about 6:30 pm here in Indiana.
And the people were terrified. Nobody would look other people in the
eye. They were avoiding them like the plague. There wasn't even
courteous head bobs and what not between people. Everybody was in full
isolation mode, and nobody save the smallest handful of people who you
could see it in their eyes, had friendliness, or love, or common
courtesy in their dealings with people.
 
Over the probably 200 people I encountered in the store, 3 were friendly
and cordial.
 
This world is being transformed by fear into the world that will receive
the mark of the beast during the tribulation.
 

https://www.biblegateway.com/passage/?search=2%20Timothy%201:7&version=KJV
 
7 For God hath not given us the spirit of fear; but of power,
and of love, and of a sound mind.
 
It's one thing to be cautious, social distance, wear your mask. It's
another thing entirely to lose all semblance of human kindness toward
one another.
 
I've never seen such a thing in my 51 years on this planet.
 
>     2)  Everybody will face judgment
>     3)  Everybody needs Jesus
>     4)  Jesus offers forgiveness for sin for free to everybody
 
I don't many days, weeks, months, years are ahead for Christians on this
planet before the rapture. My money is on a date before May 14, 2021,
but I don't know what day.
 
Everything is accelerating world-wide toward the one world government
system, and that "revving up" is one of the signs that when we see all
these things together at the same time, and they're getting faster and
faster, Jesus likens it to a woman in labor, the labor pains grow in
frequency and intensity until ... delivery.
 
Repeat these words before it's too late:
 
"Dear Heavenly Father, I have sinned. I am guilty before you.
I need a Savior, and I ask you to forgive my sin through the
sacrifice of your Son Jesus on the cross. I ask you to cleanse
me of my sin by His righteous blood shed for me. I believe that
He died, was buried, and on the third day resurrected and is
alive today, seated at the right hand of power and glory. Amen."
 
Nobody wants to be here on this Earth for what's coming. For most
world-wide, Revelation teaches it will be their terminal end because the
anti-Christ spirit that rises up corrupts everything, resulting in
destruction of everything. Jesus even says if those final days weren't
cut short, no flesh would survive. Not just people, but all flesh,
animals, plants, birds, fish, and people.
 
"Board the ark" of Jesus Christ. Save yourself from the coming destruction.
 
--
Rick C. Hodgin
"Rick C. Hodgin" <rick.c.hodgin@gmail.com>: Jan 03 07:27PM -0500

On 1/3/21 6:36 PM, Rick C. Hodgin wrote:
> courtesy in their dealings with people.
 
> Over the probably 200 people I encountered in the store, 3 were friendly
> and cordial.
 
One other thing to note. This was probably encouraged by the PA system
which sounded like a disaster warning. "Shoppers are required to wear
masks at all times. You will not be able to remain in the store without
your mask."
 
We're all being trained, people. The enemy is teaching you all unaware
that the mark of the beast is the only way to move forward.
 
I'm going to teach you the truth here:
 
1) Everyone who takes the mark of the beast is eternally damned.
2) The mark will be something on your right-hand or forehead.
3) Nobody world-wide will be able to buy or sell unless they have
the mark.
4) This will require strong faith to not take it.
5) God promises all who do not take it for His sake will be saved,
though they'll likely have to die (or be killed) for their
faith.
 
Here are the Bible verses which back that up. The relevant portions are
highlighted with a ==>:
 
Revelation 13
 

https://www.biblegateway.com/passage/?search=Revelation%2013&version=KJV;NASB
 
1 And I stood upon the sand of the sea, and saw a beast rise
up out of the sea, having seven heads and ten horns, and
upon his horns ten crowns, and upon his heads the name of
blasphemy.
2 And the beast which I saw was like unto a leopard, and his
feet were as the feet of a bear, and his mouth as the mouth
of a lion: and the dragon gave him his power, and his seat,
and great authority.
3 And I saw one of his heads as it were wounded to death; and
his deadly wound was healed: and all the world wondered after
the beast.
4 And they worshipped the dragon which gave power unto the beast:
and they worshipped the beast, saying, Who is like unto the
beast? who is able to make war with him?
 
If you watch the DTBM channel on YouTube, you can find teachings about
what all of these symbols mean. DTBM = Discover The Book Ministries,
John Barnett, an excellent Biblical scholar and teacher.
 
5 And there was given unto him a mouth speaking great things
and blasphemies; and power was given unto him to continue
forty and two months.
6 And he opened his mouth in blasphemy against God, to blaspheme
his name, and his tabernacle, and them that dwell in heaven.
==> 7 And it was given unto him to make war with the saints, and
to overcome them: and power was given him over all kindreds,
and tongues, and nations.
==> 8 And all that dwell upon the earth shall worship him, whose
names are not written in the book of life of the Lamb slain
from the foundation of the world.
9 If any man have an ear, let him hear.
 
All whose names are not written in the Lamb's Book of Life (Jesus' book
of life) will worship the beast. Those who are written in the Lamb's
Book of Life are those who are saved, and they will not worship the beast.
 
10 He that leadeth into captivity shall go into captivity: he
that killeth with the sword must be killed with the sword.
Here is the patience and the faith of the saints.
 
11 And I beheld another beast coming up out of the earth; and he
had two horns like a lamb, and he spake as a dragon.
12 And he exerciseth all the power of the first beast before him,
and causeth the earth and them which dwell therein to worship
the first beast, whose deadly wound was healed.
13 And he doeth great wonders, so that he maketh fire come down
from heaven on the earth in the sight of men,
 
There will be supernatural events happening during this time, but you
must not be deceived. The power of these supernatural events is not of
God, but of the enemy of God. It's purpose is to deceive people with
awe and wonder into believing in him, rather than in God. You must
reject this.
 
14 And deceiveth them that dwell on the earth by the means of
those miracles which he had power to do in the sight of the
beast; saying to them that dwell on the earth, that they
should make an image to the beast, which had the wound by
a sword, and did live.
15 And he had power to give life unto the image of the beast,
that the image of the beast should both speak, and cause
that as many as would not worship the image of the beast
should be killed.
==> 16 And he causeth all, both small and great, rich and poor,
free and bond, to receive a mark in their right hand, or
in their foreheads:
 
"In their right hand, or in their foreheads." That's the mark. And
it's associated with his name, or the number of his name. That's the
tell as to what the mark is. And it will be a conscious choice given to
people. You won't be deceived into taking it thinking it's a flu
vaccine or something. You'll know what it is, and you'll make a
conscious choice.
 
The DTBM channel talks about a practice like this that took place back
in Rome. A line would form, and people would have to grab some incense
and rub it between their fingers as they poured it out over a flame and
give an acknowledgement that Caesar has all power "Caesar dios" I
believe is what they had to say in their language. All who did this had
their life spared. Those who did not were taken off and burned alive
literally.
 
Most thought, "It's no big deal. No one I know is here with me in line.
I can just say the words under my breath and live another year." But
God knew their heart, and what they were saying, and not saying.
 
It is this same type of thing that will be there with this choice. God
will know, and all who take the mark will be damned. There is then no
opportunity a day or week later to repent and undo it. All who take the
mark are eternally damned to Hellfire.
 
==> 17 And that no man might buy or sell, save he that had the mark,
or the name of the beast, or the number of his name.
==> 18 Here is wisdom. Let him that hath understanding count the
number of the beast: for it is the number of a man; and
his number is Six hundred threescore and six.
 
There will be something which aligns with 666 for this mark. You must
follow the devout saints of God and look for the consensus among them.
There are always fringe elements who say this or that, but God's Holy
Spirit is not isolated to small groups. He guides through the
multitude, and His whole church is moved by Him together, so that the
people are moved to pray together, fast together, have common and shared
beliefs, etc.
 
The next portion about all who take the mark are damned comes from
another chapter:
 
Revelation 14
 

https://www.biblegateway.com/passage/?search=Revelation%2014&version=KJV;NASB
 
1 And I looked, and, lo, a Lamb stood on the mount Sion, and
with him an hundred forty and four thousand, having his
Father's name written in their foreheads.
2 And I heard a voice from heaven, as the voice of many waters,
and as the voice of a great thunder: and I heard the voice
of harpers harping with their harps:
3 And they sung as it were a new song before the throne, and
before the four beasts, and the elders: and no man could
learn that song but the hundred and forty and four thousand,
which were redeemed from the earth.
4 These are they which were not defiled with women; for they
are virgins. These are they which follow the Lamb whithersoever
he goeth. These were redeemed from among men, being the
firstfruits unto God and to the Lamb.
5 And in their mouth was found no guile: for they are without
fault before the throne of God.
 
It is believed these 144,000 will be Jews who become the new Christians
after the rapture, as they will be filled with the Holy Spirit as born
again believers are. But during this time, it will be more, because of
a prophesy in Joel that says God will pour out His spirit upon all flesh
in those days, and people will have visions and dreams.
 
==> 6 And I saw another angel fly in the midst of heaven, having
the everlasting gospel to preach unto them that dwell on the
earth, and to every nation, and kindred, and tongue, and people,
==> 7 Saying with a loud voice, Fear God, and give glory to him; for
the hour of his judgment is come: and worship him that made
heaven, and earth, and the sea, and the fountains of waters.
 
The beast system will not endure. This happens during the tribulation,
but the system that will provide you the mark of the beast to buy or
sell will not endure.
 
What will endure, even beyond the grave, is Jesus Christ, the power of
His redemptive blood, and all who put their faith and trust in Him have
eternity in Heaven with God. Those who took the mark, eternity in Hell
in the flames. It is the equivalent of "a lifetime sentence without the
possibility of parole" for an eternal being of unimaginable power and
ability, of which we all are, for we are called "gods" (literally) in
the Psalms, which Jesus also affirms (John 10:34, Psalm 82:6).
 
This is what the enemy tries to prevent us from achieving. He tries to
get us to focus on stuff here in this world so we miss the true nature
of who we are. God has created us as special beings among all His
creation, made in His own image and likeness (Genesis 1-3), prepared for
us a future that is amazing, dwelling in the place God would create for
Himself, a place of beauty, of power, of grand majesty, described by
Jesus as a paradise.
 
Don't let the enemy steal that away from you by keeping you from
acknowledging your sin and asking forgiveness from Jesus so that you too
can be saved, and enter into that Kingdom prepared for you.
 
8 And there followed another angel, saying, Babylon is fallen,
is fallen, that great city, because she made all nations drink
of the wine of the wrath of her fornication.
 
And here is the eternal destruction of those with the mark:
 
==> 9 And the third angel followed them, saying with a loud voice,
If any man worship the beast and his image, and receive his
mark in his forehead, or in his hand,
==> 10 The same shall drink of the wine of the wrath of God, which
is poured out without mixture into the cup of his indignation;
and he shall be tormented with fire and brimstone in the
presence of the holy angels, and in the presence of the Lamb:
==> 11 And the smoke of their torment ascendeth up for ever and ever:
and they have no rest day nor night, who worship the beast and
his image, and whosoever receiveth the mark of his name.
 
Faith brings patience:
 
12 Here is the patience of the saints: here are they that keep
the commandments of God, and the faith of Jesus.
==> 13 And I heard a voice from heaven saying unto me, Write, Blessed
are the dead which die in the Lord from henceforth: Yea, saith
the Spirit, that they may rest from their labours; and their
works do follow them.
14 And I looked, and behold a white cloud, and upon the cloud one
sat like unto the Son of man, having on his head a golden crown,
and in his hand a sharp sickle.
15 And another angel came out of the temple, crying with a loud
voice to him that sat on the cloud, Thrust in thy sickle, and
reap: for the time is come for thee to reap; for the harvest of
the earth is ripe.
16 And he that sat on the cloud thrust in his sickle on the earth;
and the earth was reaped.
17 And another angel came out of the temple which is in heaven, he
also having a sharp sickle.
18 And another angel came out from the altar, which had power over
fire; and cried with a loud cry to him that had the sharp sickle,
saying, Thrust in thy sharp sickle, and gather the clusters of
the vine of the earth; for her grapes are fully ripe.
19 And the angel thrust in his sickle into the earth, and gathered
the vine of the earth, and cast it into the great winepress of
the wrath of God.
20 And the winepress was trodden without the city, and blood came
out of the winepress, even unto the horse bridles, by the space
of a thousand and six hundred furlongs.
 
2,600 furlongs is approximately 325 miles.
 
> animals, plants, birds, fish, and people.
 
> "Board the ark" of Jesus Christ.  Save yourself from the coming
> destruction.
 
Jesus gives us every opportunity to come to Him. He calls out to us
from within. He sends men and women like me out into the world to teach
people to warn them of their sin, their need of salvation, to warn of
what's coming unto the whole Earth.
 
Judgment will come for everybody, and everybody will be without excuse
when the evidence of their life is presented. It will be like a 4D
hologram from birth to death being replayed. It will show every
decision, every action, things done in public, things done in secret.
All of it will be 100% revealed before the court of God, where every
soul who was not saved (by the Lamb, by Jesus and His death, burial, and
resurrection, by His blood) will be judged.
 
Those who are saved by the Lamb have all of their misdeeds transferred
to Jesus at the cross, and those deeds died with Him once and for all.
He became the murderer. He became the adulterer. He became the liar.
He became the thief. He became every sin we've ever done in our place,
so that we could be set free.
 
It's who Jesus is. It's why He came to the Earth as a man, and died on
the cross as He did. He did it to set the many free who would believe
in Him, to rescue us from the judgment of God.
 
He becomes our sin. We become His spotless righteousness.
 
Consider these things. Ponder on them. Think of them in the car. Talk
them over with yourself in the mirror when you are alone, without the
radio or TV or other distraction. Call out to God and ask Him to reveal
these things to you so you too can know the truth, and that truth will
make you free.
 
I love you. I teach you the truth. I warn you of what's coming because
I do not want you to go through it. I want you to escape it by putting
your faith and trust in Jesus Christ today, right now, this instant, so
that when the rapture comes, or when we leave this world by death, we
are already set free and alive forever having been redeemed by Jesus at
the cross.
 
Peace to each of you. There is victory at the cross.
 
--
Rick C. Hodgin
"Chris M. Thomasson" <chris.m.thomasson.1@gmail.com>: Jan 03 05:14PM -0800

On 1/3/2021 3:36 PM, Rick C. Hodgin wrote:
> courtesy in their dealings with people.
 
> Over the probably 200 people I encountered in the store, 3 were friendly
> and cordial.
[...]
 
Did you try to talk to 200 people in the store? Or, were you just
looking at their eyes?
"Chris M. Thomasson" <chris.m.thomasson.1@gmail.com>: Jan 03 05:18PM -0800

On 1/3/2021 4:27 PM, Rick C. Hodgin wrote:
 
>     1)  Everyone who takes the mark of the beast is eternally damned.
>     2)  The mark will be something on your right-hand or forehead.
>[...]
 
You are RADIALLY misinterpreting the bible here. Sorry.
"Rick C. Hodgin" <rick.c.hodgin@gmail.com>: Jan 03 11:26PM -0500

Many of you may have become so tangled up in societal guidance on how to
live and be that you've lost sight of what the Biblical teaching is and
why it's important.
 
Here's an excellent sermon by an excellent Biblical scholar teacher
(John Barnett). He teaches the truth of the Bible without making you
feel guilty, but more as a teacher teaching knowledge. The teaching
helps you understand the disparity that exists between where you might
be right now, and where God calls you to be in this world.
 
And as always, it's a calling back to Him with full forgiveness
awaiting. No judgment. No shame. It's expected that people in this
world will do things contrary to God's will until they come to knowledge
of God, which is something that happens on the inside. Barnett says
Christianity's not paint. It's not a coating. It permeates.
 
God does the work of cleaning up a person's life. We first come to Him
acknowledging that we're broken because of sin. He fixes us, and then
He begins restoring us to what He would have us be in this world.
 
The things you've gone through are unique. You could reach people I
could never reach. God works with all of us pulling together to be a
part of His Kingdom.
 
True Citizens of Heaven Have Biblical Convictions
https://www.youtube.com/watch?v=ZVtHRwwH-HM
 
-----
The following content is to consider again after you've watched the
sermon. Please post any questions.
 
And remember this: You are so deeply loved. It's why God sends men and
women like me to remind you of Him. You won't hear about Him in the
world, because this world is perishing. You will hear about life from
those who bring life, which are those who point the way to Jesus because
He is that life. Even life eternal.
 
On 1/3/21 7:27 PM, Rick C. Hodgin wrote:
 
--
Rick C. Hodgin
"Chris M. Thomasson" <chris.m.thomasson.1@gmail.com>: Jan 03 08:30PM -0800

On 1/3/2021 8:26 PM, Rick C. Hodgin wrote:
> Many of you may have become so tangled up in societal guidance on how to
> live and be that you've lost sight of what the Biblical teaching is and
> why it's important.
[...]
 
The mark of the beast is in your head. Are you going to listen to the
devil? The mark of the beast is not a mark on your hand, or anything
like that.
Juha Nieminen <nospam@thanks.invalid>: Jan 04 07:23AM

>> vaccine.  Elderly people have died within two hours of getting the
>> vaccine.  So far they say it's unrelated.  But also many people of all
>> ages have gotten demonstrably sick after taking it.
 
You are a spammer, a conspiracy theorist, a liar, an asshole and a complete
hypocrite who doesn't even follow the very scriptures you are trying to
impose onto other people. Even your god, if he existed, would be disgusted
by you.
 
The more you write about your religion, the more disgusted I am of it.
You are having the exact opposite effect of what you want. You are driving
people away from your religion, not towards it. And no, your words do not
work as a magical incantation that will somehow make your god act upon
people, like you probably believe. They only make people angry and disgusted
towards you, because you are nothing but a spammer and a hypocrite.
David Brown <david.brown@hesbynett.no>: Jan 04 08:32AM +0100

On 04/01/2021 00:36, Rick C. Hodgin wrote:
 
<snip dangerous conspiracy theories>
 
Rick, it is one thing to espouse your religious theories. If you think
your particular beliefs will give you a better life, or some kind of
"life after death", that's up to you.
 
But do /not/ spread conspiracy theories about real-life serious matters
that are completely beyond your understanding. Vaccines are a necessary
inconvenience - the alternative is people dying or suffering
unnecessarily from this pandemic, and they are the only way to get back
to some semblance of normality in society.
 
Listen to whatever crackpot internet poster and youtuber you want in
regards to your religious beliefs. Listen to your /doctor/ for medical
advice.
 
Follow the advice of the appropriate health authorities on the need for
masks, testing and other precautions and preventative measures. Follow
their advice about vaccines.
 
Do not encourage others to endanger their healths and the healths of
people around them on the basis of misinformation and wild conspiracy
theories.
 
 
(This is not an invitation to discussion - it is a counter to
potentially dangerous postings. I know Rick will not read or heed
anything I post. If anyone else feels they want to discuss vaccines and
the current pandemic seriously, my email address is valid. Or they can
look up the WHO website, their country's health authority's website, or
talk to a doctor.)
Ben Bacarisse <ben.usenet@bsb.me.uk>: Jan 04 10:13AM


> In comp.lang.c++ Rick C. Hodgin <rick.c.hodgin@gmail.com> wrote:
>> On 1/3/21 12:58 PM, Rick C. Hodgin wrote:
<spam>
> You are a spammer,
 
No, it's worse. Most Usenet spam is sent automatically, but RCH
responds, so replies exacerbate the problem. With ordinary spam,
replying with quotes, as you have done, simply increases its visibility
by showing it to people whose filters had removed it.
 
I know there is a logical conundrum with my replying to you at all about
not replying to off-topic posts, but I promise I will do this only once!
 
--
Ben.
"Rick C. Hodgin" <rick.c.hodgin@gmail.com>: Jan 04 08:19AM -0500

On 1/4/21 2:23 AM, Juha Nieminen wrote:
> work as a magical incantation that will somehow make your god act upon
> people, like you probably believe. They only make people angry and disgusted
> towards you, because you are nothing but a spammer and a hypocrite.
 
God word works two ways for people:
 
1) Toward salvation for those being saved
2) As a witness against those who are not being saved
 
The flesh is at war with the things of God. It is only in the spirit,
in the new birth, in the new life, that the things of God can be seen
and received, which is why it takes a supernatural act of God to draw
those who will believe to salvation.
 
No man gets there alone. God examines the heart and knows if a person
will seek the truth and believe, and for all who will He steps in to
their life and pours out spiritually upon them, which is that very act
which makes it possible for a raging sinner yesterday, to become a
believer in Jesus Christ today.
 
A new man is born in salvation. The old passes away. The new is
forevermore.
 
--
Rick C. Hodgin
Mr Flibble <flibble@i42.REMOVETHISBIT.co.uk>: Jan 04 05:25PM

On 04/01/2021 00:27, Rick C. Hodgin wrote:
 
>> Over the probably 200 people I encountered in the store, 3 were friendly and cordial.
 
> One other thing to note.  This was probably encouraged by the PA system which sounded like a disaster warning.  "Shoppers are required to wear masks at all times.  You will not be able to remain in the store without your mask."
 
> We're all being trained, people.  The enemy is teaching you all unaware that the mark of the beast is the only way to move forward.
 
And Satan invented fossils, yes? Spammer?
 
[snip - tl;dr]
/Flibble
 
--
😎
"Rick C. Hodgin" <rick.c.hodgin@gmail.com>: Jan 04 12:36PM -0500

On 1/4/21 12:25 PM, Mr Flibble wrote:
> And Satan invented fossils, yes?
 
And Satan's convinced his people to be mindless gainsayers, yes?
 
> Spammer?
 
No. The things I post are wake up calls for those who are not following
after what they should. Why is it "what they should"? Because every
last one of us will leave this world at some point. There is a future
after we leave this world. We will go on in our own consciousness. We
will be aware of things then we cannot know today due to our being
confined to this temporal existence. But we were not made temporal.
 
We have been made in the image and likeness of God. We are eternal
beings of incredible power and ability. It's why Satan is trying to
destroy us by convincing us there's nothing more than this world.
 
Satan lies, and he causes people who don't seek the truth to believe his
lies as though they were truth. But for everyone who presses in and
seek the truth, God Himself reveals truth to them.
 
> [snip - tl;dr]
 
Your choice. Your peril, Leigh. There is wisdom in the things I post,
even if you find it only in the scripture verses I post and not my
summary of them.
 
--
Rick C. Hodgin
scott@slp53.sl.home (Scott Lurndal): Jan 04 04:24PM

I wish that the regulars in this group would simply add BW and RCH to
their killfiles and stop responding to their nonsense. Resist the
temptation, please.
"Öö Tiib" <ootiib@hot.ee>: Jan 03 04:19PM -0800

> Most of the libraries you mention reinvent quite a few things themselves.
> rapidjson reinvents float parsing, and one of the 427 items on its issues
> list is a failure of exact float parsing in some cases.
 
Often they do because they need to. For example I can't use <random>
ever as it is not portable; need to use something else that is portable like
Boost.Random that has some portable parts.
 
The requirements of "number" in JSON and fundamental numeric types
in C++ are so different that those can not be compatible with each other
in generic manner. Rapidjson does provide some alternatives. The
full precision variant was fine in range that mattered to me. The tendency
of each getting their own take on Google's V8 Grisu3 of Florian Loitsch
tinkered in instead of cooperating and adding some decent thing to boost
together is somewhat sad.

> described as "popular", and receives nice user feedback. These names
> resolve to the standard library equivalents if the appropriate C++
> version is detected.
 
It is not compatible with boost::basic_string_view? I can't
use it. I have to mostly work with C++14 compiler as it has working
constexpr. For C++17 that broke it one has perhaps to use external code
generators/preprocessors to fix it back. No time for to manufacture
such. So all the guys with alib::string_view, blib::string_view etc. that
do not cooperate with boost::string_view are off for some time.
 
> > Who?
 
> Users. But why personalize this? What difference does that make?
 
Uhh? So I assumed some kind of progress ... pride ... or
vanity ... desire to prove that you are the man on something worth
doing. Otherwise people do things but never brag and that is wrong.
 
You are that Daniel who makes jsoncons? Last I tried it was way
slower than rapidjson. But it was 2018 or so. Performance is not
all there is as It does not matter how quickly we get wrong answers.
But unfortunately it seemed to have more other quirks too than
rapidjson. But ... peace, you have users so you have done something
correctly and as I have all January fully booked of pressing matters
I can't repeat the evaluation anytime soon.
"daniel...@gmail.com" <danielaparker@gmail.com>: Jan 03 04:32PM -0800

On Sunday, January 3, 2021 at 3:28:39 PM UTC-5, Öö Tiib wrote:
> available implementation is] not self-contained in one or two files."
> That talks loudly about Dunning Kruger effect of person not beaten
> hard to level of elementary competence needed in our industry.
 
I'll reply to this, although I don't think it will do any good.
 
Let's take an author of an open source library that needs to support
C++11 and later, and wants basic_string_view, partly for internal
implementation, partly as a type in interfaces, and partly to support
traits that recognize std::basic_string_view when available. Such
an author needs a proxy implementation when the availability
std::basic_string_view is not detected.
 
So our author could look at boost/utility/string_view.hpp as a source.
In it he would find that it includes six boost header files, and many
configuration macros, such as BOOST_NO_CXX11_DEFAULTED_FUNCTIONS,
BOOST_GCC, BOOST_STRING_VIEW_NO_CXX11_DEFAULTED_NOEXCEPT_FUNCTIONS,
BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS,
BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS,
BOOST_CXX14_CONSTEXPR etc. By the time he's sorted through
that, he could just as easily use cppreference as a spec and implement
it. He doesn't care about the BOOST_NO_CXX_ macros, he's only
supporting C++11 and later. He doesn't care about the configurations
for earlier experimental versions of basic_string_view. He may care
about C++14 constexpr support not present in C++11, and conditionally
support that, but frankly that's being pedantic. From the library's
perspective, this class is a proxy implementation until C++ 17 support
arrives. And in terms of level of difficulty, this class is probably
simpler than most things in his library, it is not hard.
 
Regardless of what choice the author makes, he still needs to
provide all the test cases. He still needs to expose the class to Google
fuzzer, check with PVS Studio, compile with many compilers with -Wall
and -Wpedantic and the sanitizers. The standards in open source are
pretty high.
 
I've written a lot of sentences, to try and convey that I can have
an informed opinion, but I know it's a waste of time.
 
Daniel
"Öö Tiib" <ootiib@hot.ee>: Jan 03 05:04PM -0800

> BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS,
> BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS,
> BOOST_CXX14_CONSTEXPR etc.
 
All compilers let you do just preprocessing step. It is still work
but nothing so terrible.

> perspective, this class is a proxy implementation until C++ 17 support
> arrives. And in terms of level of difficulty, this class is probably
> simpler than most things in his library, it is not hard.
 
You have valid points but I unfortunately am one whose code really
performs better with C++14 constexpr and boost::string_view (and
some other constexpr classes) combo.
C++17 added major constexpr classes but broke constexpr itself
and so I have to do pile of manual work to make C++17 to compile
into as efficient. It is not like pedantry for me when thing that performs
twice better needs twice less nodes to service same amount of
connections as smoothly. If there is just one node mostly idle then
C++ itself is unneeded ... as C#, PHP or Python are good enough.
 
> pretty high.
 
> I've written a lot of sentences, to try and convey that I can have
> an informed opinion, but I know it's a waste of time.
 
Oh. I really hope things get towards better this year.
"daniel...@gmail.com" <danielaparker@gmail.com>: Jan 03 05:08PM -0800

On Sunday, January 3, 2021 at 7:19:46 PM UTC-5, Öö Tiib wrote:
> doing. Otherwise people do things but never brag and that is wrong.
 
> You are that Daniel who makes jsoncons? Last I tried it was way
> slower than rapidjson. But it was 2018 or so.
 
It's still slower, all the JSON libraries that make parsing performance
the top priority substitute inexact float parsing algorithms for C++
library functions, it makes a big difference, and the popular benchmarks
favour doubles. simdjson may be an exception, it now claims it can
convert without loosing precision, but users still report issues.
But this is a wheel I wouldn't care to reinvent. rapidjson also benefits
from pre-configured allocators, which is also reflected in the
rapidjson issues. Floating point algorithms are hard to get right,
and fast allocators are hard to make robust.
 
But jsoncons does have its supporters, for instance
 
https://github.com/danielaparker/jsoncons#what-users-say
 
I've left them unattributed, but they can all be found in the closed
issues.
 
Daniel
Brian Wood <woodbrian77@gmail.com>: Jan 03 09:04PM -0800


> https://github.com/danielaparker/jsoncons#what-users-say
 
> I've left them unattributed, but they can all be found in the closed
> issues.
 
That's great. These things don't have much to do with my wish
list, but maybe by adding them here someone will see my list
and help me with one of them.
 
I noticed your library uses std::error_code and that message()
returns a std::string. It seems like that should be a std::string_view,
but error_code was added in 2011 so the choices were char*
or std::string.
 
 
Brian
Ebenezer Enterprises
https://webEbenezer.net
"Öö Tiib" <ootiib@hot.ee>: Jan 03 11:56PM -0800

> returns a std::string. It seems like that should be a std::string_view,
> but error_code was added in 2011 so the choices were char*
> or std::string.
 
The std::error_code wasn't made constexpr by C++20 (despite
std::string was). So one has to use it only for run-time processing
and static_assert only for compile time processing.
 
But anyway what was possible in C++14 (by using custom classes or
boost::string_view) that I get custom compile time error messages
from constexpr context and run-time error messages from run-time
context by using same mechanism for both was hopelessly broken
by C++17. I do not know who was behind it Google, Microsoft,
Apple, Oracle? Perhaps all of them ... as their garbage languages
did not have custom compiler error messages but C++14 technically
had.
"daniel...@gmail.com" <danielaparker@gmail.com>: Jan 04 07:40AM -0800

> returns a std::string. It seems like that should be a std::string_view,
> but error_code was added in 2011 so the choices were char*
> or std::string.
 
A significant number of users of the library compile with
-fno-exceptions. The library tries to follow patterns in the
standard library for allowing an alternative to exceptions,
with the optional ec parameter. But this is not completely
satisfactory either. First, as ec is the last parameter,
you can't cover common cases with default parameters,
so the number of overloads grows. Second, std::error_category
itself has issues, particularly that it requires unique addresses
for the category objects, which doesn't play well with DLL's and
shared libraries, so comparing two ec's can fail. Third,
it's hard to use this approach with functions that return values,
whose types may not support default constructors. I suppose
you could have ec and return optional. But I would have preferred
std::expected, which was proposed for C++17, but rejected.
 
There have been a number of proposals to fix and improve error
categories.
 
p1196r0, http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1196r0.html,
proposes replacing the requirement of unique addresses with
relying on unique 64 bit identifiers for identity. boost::system::error_category
is now implemented this way.
 
p1197r0, http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1197r0.html,
concerns the issue you mentioned with message returning
a string and thus mandating an allocation, it proposes an
additional overload of message() that returns the message into
a user supplied buffer.
 
P1195R0, http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1195r0.html,
proposes making <system_error> constexpr.
 
p1196r0 and p1197r0 were rejected for ABI breakage reasons, P1195R0
wasn't accepted for C++20 because of ABI reasons.
 
Daniel
Juha Nieminen <nospam@thanks.invalid>: Jan 04 07:13AM

> there are still no advantages, still as error-prone and ugly as it was.
> Only excuse of advocating its usage is that you had the pain of using
> it and want others to have same pain. IOW sadism of pathetic asshole.
 
If you need a two-dimensional array, is it guaranteed that there will be no
padding between the sub-arrays?
 
With inbuilt arrays there is such a guarantee.
spudisnotyourbud@grumpysods.com: Jan 04 09:25AM

On Sun, 3 Jan 2021 09:44:02 -0800 (PST)
>> The raw array is what already existed so by definition it wouldn't.
 
>So there are no reasons to return to it ever as it has no advantages whatso=
>ever.
 
It has no disadvantages in this instance either and will probably produce a
smaller binary.
 
>> a C array.
 
>Compiler has no concept of MAC. The std::array is in every sense as good or
>better array than C array, also for MAC.
 
Why is it better for a MAC where bound checking won't be required? Show me
what I've missed.
 
>You failed to show any other motivation of pushing inferior choice so I=20
>guessed correctly? =F0=9F=98=80 OK I can call you "pathetic arsehole" if yo=
>u so wish.
 
Pange see oma ajudeta baltlaste idikas sisse.
spudisnotyourbud@grumpysods.com: Jan 04 09:28AM

On 3 Jan 2021 18:13:31 GMT
> "why?": as far as I'm concerned, std::array is (since 2011) the
> default tool for fixed-size arrays. It's the /other/ solutions that
> need a motivation.
 
When you actually have an answer get back to me.
Ben Bacarisse <ben.usenet@bsb.me.uk>: Jan 04 01:10PM

>> it and want others to have same pain. IOW sadism of pathetic asshole.
 
> If you need a two-dimensional array, is it guaranteed that there will be no
> padding between the sub-arrays?
 
The elements (in this case the sub-arrays) are guaranteed to be stored
contiguously in that &a[n] = &a[0] + n for all valid n. Therefore there
can't be any padding between the elements added simply because the
sub-arrays are in a containing array, but I can't find any guarantee
that
 
sizeof (std::array<T, N>) == N * sizeof (std::array<T, N>::value_type)
 
I.e. there may be padding at the end of a std::array (included in its
size) and therefore padding in some sense "between" the sub-arrays in a
std::array<std::array<T, N>, M>.
 
 
--
Ben.
Christian Gollwitzer <auriocus@gmx.de>: Jan 04 09:18AM +0100

Am 03.01.21 um 18:44 schrieb Bonita Montero:
> I've just wondered why trunc() of the MSVCRT is so slow.
 
> So I've written my own trunc():
 
> So what's the magic behind MS' trunc() implementation I miss ?
 
Look at the compiled assembly. I would expect that the library version
uses SSE code to do the trunc, while yours runs at the integer ALU.
 
Christian
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: