René's URL Explorer Experiment


Title: added `TokenList::Stream` class to wrap `std::istream` usage and implemented alternative C I/O version by firewave · Pull Request #244 · cppcheck-opensource/simplecpp · GitHub

Open Graph Title: added `TokenList::Stream` class to wrap `std::istream` usage and implemented alternative C I/O version by firewave · Pull Request #244 · cppcheck-opensource/simplecpp

X Title: added `TokenList::Stream` class to wrap `std::istream` usage and implemented alternative C I/O version by firewave · Pull Request #244 · cppcheck-opensource/simplecpp

Description: C++ preprocessor. Contribute to cppcheck-opensource/simplecpp development by creating an account on GitHub.

Open Graph Description: Reading the file via std::istream includes a considerable overhead caused by std::istream::sentry and others. Using C I/O instead reduces the "total Ir" usage by about 10%. Testing with -...

X Description: Reading the file via std::istream includes a considerable overhead caused by std::istream::sentry and others. Using C I/O instead reduces the "total Ir" usage by about 10%. Testin...

Opengraph URL: https://github.com/cppcheck-opensource/simplecpp/pull/244

X: @github

direct link

Domain: github.com

route-pattern/:user_id/:repository/pull/:id/commits(.:format)
route-controllerpull_requests
route-actioncommits
fetch-noncev2:87c50895-3381-e1ec-2368-7e18fb79a124
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-idD26C:BDE76:32B250E:45BA4E4:6A50837F
html-safe-nonce441640fe752f95ebf2ac8f4e2eb497c54539d56426ea71ba088dc9ee5423b2cc
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJEMjZDOkJERTc2OjMyQjI1MEU6NDVCQTRFNDo2QTUwODM3RiIsInZpc2l0b3JfaWQiOiI3MDI1NzA4MjUwNzc3ODU0NzEiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ==
visitor-hmac32d4de32e85f3d79fde751416dd956ebbaca86e565e1862d1788f6081295f18f
hovercard-subject-tagpull_request:873045906
github-keyboard-shortcutsrepository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///pull_requests/show/commits
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/cppcheck-opensource/simplecpp/pull/244/commits
twitter:imagehttps://opengraph.githubassets.com/5b7e7bb09c6a522828832b6e58eca6217be0a89d4858c09ff3e561316019bc5d/cppcheck-opensource/simplecpp/pull/244
twitter:cardsummary_large_image
og:imagehttps://opengraph.githubassets.com/5b7e7bb09c6a522828832b6e58eca6217be0a89d4858c09ff3e561316019bc5d/cppcheck-opensource/simplecpp/pull/244
og:image:altReading the file via std::istream includes a considerable overhead caused by std::istream::sentry and others. Using C I/O instead reduces the "total Ir" usage by about 10%. Testing with -...
og:image:width1200
og:image:height600
og:site_nameGitHub
og:typeobject
og:author:usernamefirewave
hostnamegithub.com
expected-hostnamegithub.com
Noned6dc8294eb500fa36bbc57472d61fe87c522f9c3c1d64f70f4926f66a66a7efb
turbo-cache-controlno-cache
go-importgithub.com/cppcheck-opensource/simplecpp git https://github.com/cppcheck-opensource/simplecpp.git
octolytics-dimension-user_id278097703
octolytics-dimension-user_logincppcheck-opensource
octolytics-dimension-repository_id33434464
octolytics-dimension-repository_nwocppcheck-opensource/simplecpp
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id33434464
octolytics-dimension-repository_network_root_nwocppcheck-opensource/simplecpp
turbo-body-classeslogged-out env-production page-responsive
disable-turbofalse
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
release7ac0ad2f2c7e4b9056617355fd9e33e22b0c8df9
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/cppcheck-opensource/simplecpp/pull/244/commits#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fcppcheck-opensource%2Fsimplecpp%2Fpull%2F244%2Fcommits
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub Copilot appDirect agents from issue to mergehttps://github.com/features/ai/github-app
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
View all resourceshttps://github.com/resources
GitHub SponsorsFund open source developershttps://github.com/open-source/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/open-source/accelerator
GitHub Starshttps://stars.github.com
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/enterprise/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fcppcheck-opensource%2Fsimplecpp%2Fpull%2F244%2Fcommits
Sign up https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fpull_requests%2Fshow%2Fcommits&source=header-repo&source_repo=cppcheck-opensource%2Fsimplecpp
Reloadhttps://github.com/cppcheck-opensource/simplecpp/pull/244/commits
Reloadhttps://github.com/cppcheck-opensource/simplecpp/pull/244/commits
Reloadhttps://github.com/cppcheck-opensource/simplecpp/pull/244/commits
Please reload this pagehttps://github.com/cppcheck-opensource/simplecpp/pull/244/commits
cppcheck-opensource https://github.com/cppcheck-opensource
simplecpphttps://github.com/cppcheck-opensource/simplecpp
Notifications https://github.com/login?return_to=%2Fcppcheck-opensource%2Fsimplecpp
Fork 104 https://github.com/login?return_to=%2Fcppcheck-opensource%2Fsimplecpp
Star 263 https://github.com/login?return_to=%2Fcppcheck-opensource%2Fsimplecpp
Code https://github.com/cppcheck-opensource/simplecpp
Issues 82 https://github.com/cppcheck-opensource/simplecpp/issues
Pull requests 31 https://github.com/cppcheck-opensource/simplecpp/pulls
Actions https://github.com/cppcheck-opensource/simplecpp/actions
Wiki https://github.com/cppcheck-opensource/simplecpp/wiki
Security and quality 0 https://github.com/cppcheck-opensource/simplecpp/security
Insights https://github.com/cppcheck-opensource/simplecpp/pulse
Code https://github.com/cppcheck-opensource/simplecpp
Issues https://github.com/cppcheck-opensource/simplecpp/issues
Pull requests https://github.com/cppcheck-opensource/simplecpp/pulls
Actions https://github.com/cppcheck-opensource/simplecpp/actions
Wiki https://github.com/cppcheck-opensource/simplecpp/wiki
Security and quality https://github.com/cppcheck-opensource/simplecpp/security
Insights https://github.com/cppcheck-opensource/simplecpp/pulse
danmarhttps://github.com/danmar
cppcheck-opensource:masterhttps://github.com/cppcheck-opensource/simplecpp/tree/master
firewave:streamhttps://github.com/firewave/simplecpp/tree/stream
Conversationhttps://github.com/cppcheck-opensource/simplecpp/pull/244
Commits21 (21)https://github.com/cppcheck-opensource/simplecpp/pull/244/commits
Checkshttps://github.com/cppcheck-opensource/simplecpp/pull/244/checks
Files changedhttps://github.com/cppcheck-opensource/simplecpp/pull/244/files
added TokenList::Stream class to wrap std::istream usage and implemented alternative C I/O versionhttps://github.com/cppcheck-opensource/simplecpp/pull/244/commits#top
danmarhttps://github.com/danmar
cppcheck-opensource:masterhttps://github.com/cppcheck-opensource/simplecpp/tree/master
firewave:streamhttps://github.com/firewave/simplecpp/tree/stream
added wrapper class "Stream" to TokenListhttps://github.com/cppcheck-opensource/simplecpp/pull/244/commits/097a7658473912c062e3836813dbb29f4d541a0f
https://github.com/firewave
firewavehttps://github.com/cppcheck-opensource/simplecpp/commits?author=firewave
097a765https://github.com/cppcheck-opensource/simplecpp/pull/244/commits/097a7658473912c062e3836813dbb29f4d541a0f
https://github.com/cppcheck-opensource/simplecpp/tree/097a7658473912c062e3836813dbb29f4d541a0f
moved some helper function into TokenList::Streamhttps://github.com/cppcheck-opensource/simplecpp/pull/244/commits/c2ae44915d81595152207b7812eb035bb30914f2
https://github.com/firewave
firewavehttps://github.com/cppcheck-opensource/simplecpp/commits?author=firewave
c2ae449https://github.com/cppcheck-opensource/simplecpp/pull/244/commits/c2ae44915d81595152207b7812eb035bb30914f2
https://github.com/cppcheck-opensource/simplecpp/tree/c2ae44915d81595152207b7812eb035bb30914f2
simplified UTF-16 checkshttps://github.com/cppcheck-opensource/simplecpp/pull/244/commits/62acc5826dc822345898100ebc4df504c6acc844
https://github.com/firewave
firewavehttps://github.com/cppcheck-opensource/simplecpp/commits?author=firewave
62acc58https://github.com/cppcheck-opensource/simplecpp/pull/244/commits/62acc5826dc822345898100ebc4df504c6acc844
https://github.com/cppcheck-opensource/simplecpp/tree/62acc5826dc822345898100ebc4df504c6acc844
made simplecpp::TokenList::Stream an abstract class and moved implementation-specific parts into StdIStreamhttps://github.com/cppcheck-opensource/simplecpp/pull/244/commits/a2cc676ccbe2fafaafb9baffa06c0086f177351e
https://github.com/firewave
firewavehttps://github.com/cppcheck-opensource/simplecpp/commits?author=firewave
a2cc676https://github.com/cppcheck-opensource/simplecpp/pull/244/commits/a2cc676ccbe2fafaafb9baffa06c0086f177351e
https://github.com/cppcheck-opensource/simplecpp/tree/a2cc676ccbe2fafaafb9baffa06c0086f177351e
added simplecpp::TokenList::Stream implementation "FileStream" which uses C I/O functionshttps://github.com/cppcheck-opensource/simplecpp/pull/244/commits/07ec136dc71d89bfd4d363bab2daf133bcf43396
https://github.com/firewave
firewavehttps://github.com/cppcheck-opensource/simplecpp/commits?author=firewave
07ec136https://github.com/cppcheck-opensource/simplecpp/pull/244/commits/07ec136dc71d89bfd4d363bab2daf133bcf43396
https://github.com/cppcheck-opensource/simplecpp/tree/07ec136dc71d89bfd4d363bab2daf133bcf43396
use FileStream for includes as wellhttps://github.com/cppcheck-opensource/simplecpp/pull/244/commits/81fe8cdcac58bd1d9b032651b45cf7192ef31684
https://github.com/firewave
firewavehttps://github.com/cppcheck-opensource/simplecpp/commits?author=firewave
81fe8cdhttps://github.com/cppcheck-opensource/simplecpp/pull/244/commits/81fe8cdcac58bd1d9b032651b45cf7192ef31684
https://github.com/cppcheck-opensource/simplecpp/tree/81fe8cdcac58bd1d9b032651b45cf7192ef31684
constnesshttps://github.com/cppcheck-opensource/simplecpp/pull/244/commits/4f0da7842a3f5b3de1a90c1ebf251b674ccc634c
https://github.com/firewave
firewavehttps://github.com/cppcheck-opensource/simplecpp/commits?author=firewave
4f0da78https://github.com/cppcheck-opensource/simplecpp/pull/244/commits/4f0da7842a3f5b3de1a90c1ebf251b674ccc634c
https://github.com/cppcheck-opensource/simplecpp/tree/4f0da7842a3f5b3de1a90c1ebf251b674ccc634c
made some TokenList::Stream members privatehttps://github.com/cppcheck-opensource/simplecpp/pull/244/commits/1b52b2211ff058a74174e0a53facedb0d464d9d2
https://github.com/firewave
firewavehttps://github.com/cppcheck-opensource/simplecpp/commits?author=firewave
1b52b22https://github.com/cppcheck-opensource/simplecpp/pull/244/commits/1b52b2211ff058a74174e0a53facedb0d464d9d2
https://github.com/cppcheck-opensource/simplecpp/tree/1b52b2211ff058a74174e0a53facedb0d464d9d2
pulled out repeated UTF-16 character generation codehttps://github.com/cppcheck-opensource/simplecpp/pull/244/commits/95c747b6a99dde5e17056b13d6ab265451b598c3
https://github.com/firewave
firewavehttps://github.com/cppcheck-opensource/simplecpp/commits?author=firewave
95c747bhttps://github.com/cppcheck-opensource/simplecpp/pull/244/commits/95c747b6a99dde5e17056b13d6ab265451b598c3
https://github.com/cppcheck-opensource/simplecpp/tree/95c747b6a99dde5e17056b13d6ab265451b598c3
main.cpp: added command-option "-is" to specify usage of std::istream interface in reading initial filehttps://github.com/cppcheck-opensource/simplecpp/pull/244/commits/892183ecbdf32ae2be55d2032905c5ab9e757c9b
https://github.com/firewave
firewavehttps://github.com/cppcheck-opensource/simplecpp/commits?author=firewave
892183ehttps://github.com/cppcheck-opensource/simplecpp/pull/244/commits/892183ecbdf32ae2be55d2032905c5ab9e757c9b
https://github.com/cppcheck-opensource/simplecpp/tree/892183ecbdf32ae2be55d2032905c5ab9e757c9b
test.cpp: got rid of another `std::istringstream` usagehttps://github.com/cppcheck-opensource/simplecpp/pull/244/commits/26ccd246db7cec3335d416987d1d89f124cc191e
https://github.com/firewave
firewavehttps://github.com/cppcheck-opensource/simplecpp/commits?author=firewave
26ccd24https://github.com/cppcheck-opensource/simplecpp/pull/244/commits/26ccd246db7cec3335d416987d1d89f124cc191e
https://github.com/cppcheck-opensource/simplecpp/tree/26ccd246db7cec3335d416987d1d89f124cc191e
fixed FileStream::unget() with subsequent calls (i.e. UTF-16 encoding)https://github.com/cppcheck-opensource/simplecpp/pull/244/commits/e57f3128db5ee20551b8ac8b7445845b371d7d15
https://github.com/firewave
firewavehttps://github.com/cppcheck-opensource/simplecpp/commits?author=firewave
e57f312https://github.com/cppcheck-opensource/simplecpp/pull/244/commits/e57f3128db5ee20551b8ac8b7445845b371d7d15
https://github.com/cppcheck-opensource/simplecpp/tree/e57f3128db5ee20551b8ac8b7445845b371d7d15
simplified newline handling in TokenList::Stream::readChar()https://github.com/cppcheck-opensource/simplecpp/pull/244/commits/bdc7f3c34521364eb61f469c7e3a5e29d3bb02a7
https://github.com/firewave
firewavehttps://github.com/cppcheck-opensource/simplecpp/commits?author=firewave
bdc7f3chttps://github.com/cppcheck-opensource/simplecpp/pull/244/commits/bdc7f3c34521364eb61f469c7e3a5e29d3bb02a7
https://github.com/cppcheck-opensource/simplecpp/tree/bdc7f3c34521364eb61f469c7e3a5e29d3bb02a7
fixed handling of incomplete UTF-8 BOM 0xefbbbfhttps://github.com/cppcheck-opensource/simplecpp/pull/244/commits/76b94e3ba988688be06eea9fe5cd641260044959
https://github.com/firewave
firewavehttps://github.com/cppcheck-opensource/simplecpp/commits?author=firewave
76b94e3https://github.com/cppcheck-opensource/simplecpp/pull/244/commits/76b94e3ba988688be06eea9fe5cd641260044959
https://github.com/cppcheck-opensource/simplecpp/tree/76b94e3ba988688be06eea9fe5cd641260044959
test.cpp: added tests for incomplete UTF sequenceshttps://github.com/cppcheck-opensource/simplecpp/pull/244/commits/cd084aeecdd9dcdf0de43473b404dd475edace8e
https://github.com/firewave
firewavehttps://github.com/cppcheck-opensource/simplecpp/commits?author=firewave
cd084aehttps://github.com/cppcheck-opensource/simplecpp/pull/244/commits/cd084aeecdd9dcdf0de43473b404dd475edace8e
https://github.com/cppcheck-opensource/simplecpp/tree/cd084aeecdd9dcdf0de43473b404dd475edace8e
keep lastCh intact when using FileStream::peek()https://github.com/cppcheck-opensource/simplecpp/pull/244/commits/797f899da9141b3fb46b79a1e075902927be10b3
https://github.com/firewave
firewavehttps://github.com/cppcheck-opensource/simplecpp/commits?author=firewave
797f899https://github.com/cppcheck-opensource/simplecpp/pull/244/commits/797f899da9141b3fb46b79a1e075902927be10b3
https://github.com/cppcheck-opensource/simplecpp/tree/797f899da9141b3fb46b79a1e075902927be10b3
fixed uninitialized members in `FileStream`https://github.com/cppcheck-opensource/simplecpp/pull/244/commits/c1da435de1410e1210770642b6b084ad59a14b10
https://github.com/firewave
firewavehttps://github.com/cppcheck-opensource/simplecpp/commits?author=firewave
c1da435https://github.com/cppcheck-opensource/simplecpp/pull/244/commits/c1da435de1410e1210770642b6b084ad59a14b10
https://github.com/cppcheck-opensource/simplecpp/tree/c1da435de1410e1210770642b6b084ad59a14b10
.clang-tidy: disabled `modernize-use-override` warninghttps://github.com/cppcheck-opensource/simplecpp/pull/244/commits/52b4b61a8fddc249382c81d30aa771955fe4dcd3
https://github.com/firewave
firewavehttps://github.com/cppcheck-opensource/simplecpp/commits?author=firewave
52b4b61https://github.com/cppcheck-opensource/simplecpp/pull/244/commits/52b4b61a8fddc249382c81d30aa771955fe4dcd3
https://github.com/cppcheck-opensource/simplecpp/tree/52b4b61a8fddc249382c81d30aa771955fe4dcd3
fixed `readability-inconsistent-declaration-parameter-name` clean-tidy warningshttps://github.com/cppcheck-opensource/simplecpp/pull/244/commits/7ff8c9899c203b7ddd48f34cbaf7c914138f28fa
https://github.com/firewave
firewavehttps://github.com/cppcheck-opensource/simplecpp/commits?author=firewave
7ff8c98https://github.com/cppcheck-opensource/simplecpp/pull/244/commits/7ff8c9899c203b7ddd48f34cbaf7c914138f28fa
https://github.com/cppcheck-opensource/simplecpp/tree/7ff8c9899c203b7ddd48f34cbaf7c914138f28fa
fixed `-Wshadow` Clang compiler warninghttps://github.com/cppcheck-opensource/simplecpp/pull/244/commits/c9605feec619bc1aa560e73d1d4a858cdc794062
https://github.com/firewave
firewavehttps://github.com/cppcheck-opensource/simplecpp/commits?author=firewave
c9605fehttps://github.com/cppcheck-opensource/simplecpp/pull/244/commits/c9605feec619bc1aa560e73d1d4a858cdc794062
https://github.com/cppcheck-opensource/simplecpp/tree/c9605feec619bc1aa560e73d1d4a858cdc794062
adjusted parameter order in added `TokenList()` constructor / added some barebones documentationhttps://github.com/cppcheck-opensource/simplecpp/pull/244/commits/557099c46446fa20eff89ecd619ceec26772ee02
https://github.com/firewave
firewavehttps://github.com/cppcheck-opensource/simplecpp/commits?author=firewave
557099chttps://github.com/cppcheck-opensource/simplecpp/pull/244/commits/557099c46446fa20eff89ecd619ceec26772ee02
https://github.com/cppcheck-opensource/simplecpp/tree/557099c46446fa20eff89ecd619ceec26772ee02
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.