{ "info": { "author": "Cordell Bloor", "author_email": "slavik81@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Operating System :: MacOS", "Operating System :: Microsoft :: Windows", "Operating System :: POSIX :: Linux", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "\nWhy Convert?\n------------\n\nInclude guards suck. They're tiring to type and tedius to update. Worse,\nthe task of updating boilerplate leaves room for copy/paste errors, or\nother mistakes. #pragma once is simpler and less error prone. That's why\nyou should convert to #pragma once.\n\nAlas, though #pragma once is available on all the most commonly used\ncompilers, it's not available on *every* compiler. Perhaps one day\nyou'll add support for a platform with a barebones compiler with no\nsupport for #pragma once and you'll have to convert back. That's ok.\nIt's easy!\n\nWhat exactly is guardonce?\n--------------------------\n\nThere are three main tools provided by guardonce:\n\n1. ``checkguard`` helps find any broken include guards you may already\n have in your project. These should be addressed before converting.\n\n2. ``guard2once`` converts files with include guards into files with\n #pragma once directives. This ensures your entire project is\n consistently using #pragma once.\n\n3. ``once2guard`` converts files with #pragma once directives back into\n files with include guards. This ensures your entire project is\n consistently using include guards.\n\nHow to use:\n-----------\n\nFirst, check your project for broken headers. To recursively search your\nproject directories for the names of all files that lack proper include\nguards, use the following command, substituting your project's directory\nfor the quoted string:\n\n``checkguard -r \"source_directory\"``\n\nBy default, checkguard is very forgiving. It accepts either #pragma once\nor anything that looks like an include guard. If you know that all your\nguards should match some format, you can be more strict by using ``-p``\nto specify a pattern to check against.\n\nIf certain files are not supposed to have include guards, feel free to\nleave them be. Files without include guards are ignored by this next\nstep.\n\nNow, all that remains is converting the headers to use #pragma once:\n\n``guard2once -r \"source_directory\"``\n\nYou're done! Double check that the result matches your expectations and\nstart using #pragma once in your new code. Know that if you ever need to\nswitch back, it's as simple as:\n\n``once2guard -r \"source_directory\"``\n\nIf the default guard style doesn't appeal to you, there are a few\noptions to customize it. Maybe take a look through ``once2guard --help``\nor check out a walkthrough for some examples.\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/cgmb/guardonce", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "guardonce", "package_url": "https://pypi.org/project/guardonce/", "platform": "", "project_url": "https://pypi.org/project/guardonce/", "project_urls": { "Homepage": "https://github.com/cgmb/guardonce" }, "release_url": "https://pypi.org/project/guardonce/2.4.0/", "requires_dist": [ "nose ; extra == 'test'" ], "requires_python": "", "summary": "Utilities for converting from C/C++ include guards to #pragma once and back again", "version": "2.4.0" }, "last_serial": 4553775, "releases": { "1.0.0": [], "2.0.0": [ { "comment_text": "", "digests": { "md5": "b0382dbb7d8214a689465e424618a1a3", "sha256": "fd7a5aab1e2d47d6cb3e7426ddf6c183ee206d5fc249e8bcdc28da957ade1d45" }, "downloads": -1, "filename": "guardonce-2.0.0-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "b0382dbb7d8214a689465e424618a1a3", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 12719, "upload_time": "2016-12-02T07:05:18", "url": "https://files.pythonhosted.org/packages/ca/ea/f6513e9502042a0d1a9c3e4a2b6fc2cd7eafbe2c0eff6267f0f4a4a8d7e3/guardonce-2.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e07b9b1098991837ee69507fa0d5348b", "sha256": "ead76536fd5ff865c62d3e44faf6dab30f671d49a3a793ffa1fb41d4e6eacd5d" }, "downloads": -1, "filename": "guardonce-2.0.0.tar.gz", "has_sig": true, "md5_digest": "e07b9b1098991837ee69507fa0d5348b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7761, "upload_time": "2016-12-02T07:05:21", "url": "https://files.pythonhosted.org/packages/95/3b/93065494503bd398b63f3c6fe9effea6c06bcd4fc0dd2ecfd1a366e7d257/guardonce-2.0.0.tar.gz" } ], "2.1.0": [ { "comment_text": "", "digests": { "md5": "6749a9a5ba492c7bb04ce73989ff77bf", "sha256": "d1cc827fd9677ef9c56bae6871ddeeec61f0e0024a2bc69cffb9c48f0a34dba3" }, "downloads": -1, "filename": "guardonce-2.1.0-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "6749a9a5ba492c7bb04ce73989ff77bf", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 13308, "upload_time": "2017-02-15T01:36:35", "url": "https://files.pythonhosted.org/packages/ce/27/7ec5d3a9de671b810bc6fea83b8a3106f31fe71c3e4264b5c30f4e582f46/guardonce-2.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "eb44635f335295568fc3c9e274f414df", "sha256": "46c10a5322ff1f9b36e1969149272a3bfd78c50a7fd9ceb37424a71ac6303585" }, "downloads": -1, "filename": "guardonce-2.1.0.tar.gz", "has_sig": true, "md5_digest": "eb44635f335295568fc3c9e274f414df", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8273, "upload_time": "2017-02-15T01:36:37", "url": "https://files.pythonhosted.org/packages/cb/ac/d33d2c8ee8e541addea10d3b5d9c83d79d0e7685be87ad9382c675dbf528/guardonce-2.1.0.tar.gz" } ], "2.2.0": [ { "comment_text": "", "digests": { "md5": "2c05f6bd231971d49a76706be8083325", "sha256": "eeecb7e10b7113732ed3339f9289090b1d15c9dabbc5607091c4a69e689a3f33" }, "downloads": -1, "filename": "guardonce-2.2.0-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "2c05f6bd231971d49a76706be8083325", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14849, "upload_time": "2017-10-05T03:56:33", "url": "https://files.pythonhosted.org/packages/7b/f7/0c3fe161f5f77f4ebe77555050890871facd04c405085badb3553d1f9e04/guardonce-2.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e7a81e689753fea34ea23b2d5fc09eb5", "sha256": "cbc50d49379d9a5e9ace8737d6a5438451889b23610871804538a7f6be46071b" }, "downloads": -1, "filename": "guardonce-2.2.0.tar.gz", "has_sig": true, "md5_digest": "e7a81e689753fea34ea23b2d5fc09eb5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10211, "upload_time": "2017-10-05T03:56:49", "url": "https://files.pythonhosted.org/packages/99/7b/da4b15ccf1d03dc047f934b570fd5fcd63db3918c7f10c7a91acaefd6d1b/guardonce-2.2.0.tar.gz" } ], "2.2.1": [ { "comment_text": "", "digests": { "md5": "b8cf73dbd01e3e5f7bca9fc34f6e1da9", "sha256": "11476191f4a1574e63c0a346079a0828c3eb917f45bc95b14113ca9405e5005c" }, "downloads": -1, "filename": "guardonce-2.2.1-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "b8cf73dbd01e3e5f7bca9fc34f6e1da9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 15274, "upload_time": "2017-10-11T05:48:10", "url": "https://files.pythonhosted.org/packages/89/dc/842036badc4f22d5597ebedaecbb35e4173da9f1f7c9fcd4490babb02dd2/guardonce-2.2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6ed8116191a057549441b995b1a5cefa", "sha256": "486896304eb05e64ef80cca4aa14719ad931fcfcb6740c73c2ca458817e34931" }, "downloads": -1, "filename": "guardonce-2.2.1.tar.gz", "has_sig": true, "md5_digest": "6ed8116191a057549441b995b1a5cefa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10531, "upload_time": "2017-10-11T05:48:12", "url": "https://files.pythonhosted.org/packages/70/87/ad250d9d308990448e17512c16476189e2c10dac09a20036924b4c633121/guardonce-2.2.1.tar.gz" } ], "2.2.2": [ { "comment_text": "", "digests": { "md5": "0095846c11ca974644a3e1f8fdf1a5d7", "sha256": "7d6f7df0a966d32ea9877fc78786fede9bd182845dd4213347d80a9d2b2f6224" }, "downloads": -1, "filename": "guardonce-2.2.2-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "0095846c11ca974644a3e1f8fdf1a5d7", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 15272, "upload_time": "2017-10-11T23:56:39", "url": "https://files.pythonhosted.org/packages/44/d3/450d02dcd6430584924a12fe7551e85eb95332ce06124749cf8fb87b00c6/guardonce-2.2.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f787bc8cb568a163fb71a4b826ea5aaa", "sha256": "08797427747e4a3c311c3a0605b50da8c652458aa65262e7b61f93bbf978615d" }, "downloads": -1, "filename": "guardonce-2.2.2.tar.gz", "has_sig": true, "md5_digest": "f787bc8cb568a163fb71a4b826ea5aaa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10514, "upload_time": "2017-10-11T23:56:41", "url": "https://files.pythonhosted.org/packages/8a/76/92962b71db619b16102a482a70586bcb8e5cb56b13ed62ca2edb60f35e7a/guardonce-2.2.2.tar.gz" } ], "2.3.0": [ { "comment_text": "", "digests": { "md5": "15c412b738fb74a1bd65d25da238a501", "sha256": "99c94e32f356c07c59f577efb235fc3f91edbecf35cdf2a92d44c3746b908cbc" }, "downloads": -1, "filename": "guardonce-2.3.0-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "15c412b738fb74a1bd65d25da238a501", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 15726, "upload_time": "2018-02-07T04:20:38", "url": "https://files.pythonhosted.org/packages/57/73/715a14f7e8775cbd072abe3e0ffbcf5f87864b40f816d7966322a05348f2/guardonce-2.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "373b254dfeea40579d1628621cdea503", "sha256": "15d21b4585ff42c76895abae9391fd6b405f8aa8233afebaa026ccb7b157135d" }, "downloads": -1, "filename": "guardonce-2.3.0.tar.gz", "has_sig": true, "md5_digest": "373b254dfeea40579d1628621cdea503", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10908, "upload_time": "2018-02-07T04:20:40", "url": "https://files.pythonhosted.org/packages/3c/5c/7fd3aff68940a6f6a62e1161967dd0a89e4eec782ae17f973b94b3c084ae/guardonce-2.3.0.tar.gz" } ], "2.4.0": [ { "comment_text": "", "digests": { "md5": "f0598263ea3cf0314c53248b566a5ca2", "sha256": "325b5705148ca82b0422439e94456dd3b1a561556e2cc0e24a1acc1b8916f89f" }, "downloads": -1, "filename": "guardonce-2.4.0-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "f0598263ea3cf0314c53248b566a5ca2", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 15443, "upload_time": "2018-12-03T00:02:48", "url": "https://files.pythonhosted.org/packages/7d/05/fec26708b5292a8c579a3393c498d46eb9e0f78f2a9b45c3058d4911aa1f/guardonce-2.4.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e260a1c1064c413003e5aa0a420066a3", "sha256": "c7891e519a1dde5d2e47de2927f554b5d1cc4ebb6f0d3eafb95bc09a5c60276b" }, "downloads": -1, "filename": "guardonce-2.4.0.tar.gz", "has_sig": true, "md5_digest": "e260a1c1064c413003e5aa0a420066a3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11579, "upload_time": "2018-12-03T00:02:49", "url": "https://files.pythonhosted.org/packages/ce/fa/ccd538dd490fae9a01c75ca750c3f17d4dcc8783202f97fb17342c005d1f/guardonce-2.4.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f0598263ea3cf0314c53248b566a5ca2", "sha256": "325b5705148ca82b0422439e94456dd3b1a561556e2cc0e24a1acc1b8916f89f" }, "downloads": -1, "filename": "guardonce-2.4.0-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "f0598263ea3cf0314c53248b566a5ca2", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 15443, "upload_time": "2018-12-03T00:02:48", "url": "https://files.pythonhosted.org/packages/7d/05/fec26708b5292a8c579a3393c498d46eb9e0f78f2a9b45c3058d4911aa1f/guardonce-2.4.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e260a1c1064c413003e5aa0a420066a3", "sha256": "c7891e519a1dde5d2e47de2927f554b5d1cc4ebb6f0d3eafb95bc09a5c60276b" }, "downloads": -1, "filename": "guardonce-2.4.0.tar.gz", "has_sig": true, "md5_digest": "e260a1c1064c413003e5aa0a420066a3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11579, "upload_time": "2018-12-03T00:02:49", "url": "https://files.pythonhosted.org/packages/ce/fa/ccd538dd490fae9a01c75ca750c3f17d4dcc8783202f97fb17342c005d1f/guardonce-2.4.0.tar.gz" } ] }