Commit Graph

372 Commits

Author SHA1 Message Date
Jarryd Beck
ab1dc0f684 Update copyright notice
Fixes #361
2022-08-22 07:35:58 +10:00
jarro2783
a10bd5233b
Fix values attached to short options (#360)
Fixes #357.
2022-08-13 07:51:41 +10:00
Jarryd Beck
17b2c91049 Fix iostream for no exceptions
Fixes #356.
2022-08-08 07:07:59 +10:00
Jarryd Beck
96e72f7d15 Fix crash with short only option 2022-08-03 07:00:34 +10:00
Yassir Najmaoui
2abdd4af4d
Add option to display usage (#355)
Make the usage displaying optional
2022-07-28 06:50:13 +10:00
Jarryd Beck
01798ee7a0 GCC 4.8 fixes 2022-07-25 07:21:22 +10:00
Jarryd Beck
a6bfe2d457 Further ifdef fixes.
Related to #339.
2022-07-20 20:57:27 +10:00
Jarryd Beck
83aecd628e Fix pragmas 2022-07-20 17:37:37 +10:00
Jarryd Beck
6c8a41a229 Remove unused header 2022-07-20 07:51:04 +10:00
Jarryd Beck
292750d27a Replace pragmas with macros
Fixes ##339
2022-07-20 07:49:59 +10:00
Jarryd Beck
8849551398 Fix #353.
Move nodiscard before inline.
2022-07-18 21:16:04 +10:00
Eyal Rozenberg
e976f964c3
Fix issue #240: Multiple long option names / aliases (#349)
* Fixes #240: Multiple long option names / aliases

* We now use a vector of long option names instead of a single name
* When specifying an option, you can provide multiple names separated by commas, at most one of which may have a length of 1 (not necessarily the first specified name). The length-1 name is the single-hyphen switch (the "short name").
* Hashing uses the first long name
* Option help currently only uses the first long name.
2022-07-14 16:42:18 +10:00
Jarryd Beck
43ebb49475 Add changelog entry 2022-07-13 07:22:01 +10:00
Eyal Rozenberg
9cd015ac37
Regards #340, #345: Removed unnecessary indentation of exceptions namespace + added end-of-namespace comment (#351) 2022-07-13 06:49:04 +10:00
Eyal Rozenberg
628dc9202b
Fixes #345, fixes #346: Exception code tweaks (#347)
* Fixes #345, fixes #346, regards #340: Put exceptions in a sub-namespace and renamed them accordingly.

* Also fixed some "loose ends" regarding namespace indentation which were missing in PR #350.

* Dropped `required_option_missing` as it is unused.
2022-07-12 19:45:58 +10:00
Jarryd Beck
548d6196f5 Add clang format to changelog 2022-07-11 20:46:01 +10:00
Jarryd Beck
30d97369f2 Fixes #341. Add a clang-format file 2022-07-11 20:40:51 +10:00
Jarryd Beck
fbd79df66b Fixes #336
Memory leak was caused by `exit`.
2022-07-11 17:02:22 +10:00
Jarryd Beck
6bb1e82b61 Add Vim modeline 2022-07-11 07:17:53 +10:00
Eyal Rozenberg
513afbc6dc
Fixes #340: namespace indentation unification (#350)
* Namespace no longer induce indentation
* Namespace opening brace now on same line as namespace name
* Namespace closing brace now has an empty line before it unless the namespace contents were short and with no empty lines
* Namespace closing brace now always followed by a comment with the closed namespace' name
2022-07-11 07:00:50 +10:00
Eyal Rozenberg
8d18c3ed0b
Expanded .gitignore coverage. (#344) 2022-07-10 19:03:25 +10:00
Matthew Limbinar
7474a66ef6
Clarify positional argument docs (#335) 2022-07-04 09:55:17 +10:00
Alexander Kiselyov
a70771ae89
Fixed cmake install path in case of empty architecture (#322) 2022-06-16 07:34:14 +10:00
Jarryd Beck
5f72b525c2 Add changelog note 2022-05-11 17:47:37 +10:00
Long Deng
c59e0c132c
Solve arguments() showing empty keys when only short-only option exists (#318)
* Solve `arguments()` showing empty keys when there is only a short option.
2022-05-11 17:44:25 +10:00
Jarryd Beck
f0f465b20f Add unmatched arguments to example
Ref #242. Adds an example in the example file showing the unmatched
arguments that are stored.
2022-05-03 06:21:12 +10:00
Jarryd Beck
8185e6bb3a Remove unused variables
Fixes #324
2022-03-26 12:19:36 +11:00
Yannic Staudt
779c429b0e
Added instructions to use cxxopts with tipi to INSTALL (#325) 2022-03-22 22:01:25 +11:00
Jarryd Beck
4e208b95b7 Add a program function
Fixes 323. Adds a function to retrieve the program name.
2022-01-14 16:26:48 +11:00
Long Deng
ad2d1a6b5f
Add iterator (#126) and easily print-out (#223) to ParseResult (#313)
* Add iterator (#126) and easily print-out (#223) to ParseResult
2021-11-09 18:49:58 +11:00
Jarryd Beck
c74846a891 Fix short options adding into unmatched
Fixes #312.
2021-10-21 08:06:53 +11:00
Jarryd Beck
a150450486 Readme change for 3.0 2021-10-21 07:50:58 +11:00
Jarryd Beck
e8b5befff8 Add changes for 3.0 release 2021-10-21 07:47:55 +11:00
Jarryd Beck
d2f0bbfed1 Add note about count with default
Fixes #311.
2021-10-21 07:37:23 +11:00
Nick Krichevsky
4a02ad94f4
Include <optional> if possible to check if we can use the feature (#309)
Fixes #303
2021-10-10 13:01:47 +11:00
Jarryd Beck
c641241a87 Fixes to #204. 2021-10-09 17:02:27 +11:00
Baojun Wang
4b7fccb5f2 Allow empty string to be valid positional arguments
Fixes #204.
2021-10-09 17:02:27 +11:00
jarro2783
1ff0da6401
Add more compilers (#307) 2021-10-09 15:52:52 +11:00
jarro2783
54489e4276
Add the two available OS (#306) 2021-10-09 12:48:44 +11:00
jarro2783
4fcadd83a7
Try workflow template 2021-10-09 12:18:17 +11:00
Jarryd Beck
7d99716319 Add workflow dispatch 2021-10-09 12:13:11 +11:00
Jarryd Beck
946ebb6f83 Initial build action 2021-10-09 12:03:20 +11:00
Jarryd Beck
d3aa51d555 Add dummy workflow 2021-10-09 12:00:13 +11:00
KOLANICH
5eca8a3001
Added CPack packaging, pkg-config and CMake version files. (#298) 2021-07-31 10:34:21 +10:00
Jarryd Beck
df229cff0d Fix integer parsing to be more general
Fixes #277. Makes integer parsing to be more general and allow whatever
types the user actually uses instead of hard coding a set of integers.
2021-06-02 17:30:08 +10:00
Jarryd Beck
a20bda6179 Fix GCC version check for null deref
Fixes #288.
2021-06-01 17:38:41 +10:00
RonxBulld
97a4d5511f
Support options like -j5. (#286)
* Support option value being attached after the option without a space in between. e.g. -j5
2021-05-06 08:46:40 +10:00
spmn
056a6281ac
Fix empty option name in OptionException (#256)
Fix bug where option name is missing in error.
2021-05-06 08:45:15 +10:00
RonxBulld
c04f8a5bb9
Fully compatible with GCC4.8 compilation system. (#285)
* -Wsuggest-override is not supported by gcc before 5.0
* GCC prior to 5.0 should ignore not only -Wnon-virtual-dtor but also -Weffc++, otherwise non-virtual destructor problems will still be reported.
* The `#pragma GCC diagnostic push' should be used before setting up the temporary environment.
* When using GCC4.8, use manual lexical analysis instead of regular expressions.
* Add gcc4.8 stuff to travis file.
2021-05-04 17:35:45 +10:00
RonxBulld
174510285a
-Wsuggest-override is not supported by gcc before 5.0 (#283)
* -Wsuggest-override is not supported by gcc before 5.0

* GCC prior to 5.0 should ignore not only -Wnon-virtual-dtor but also -Weffc++, otherwise non-virtual destructor problems will still be reported.

* The `#pragma GCC diagnostic push' should be used before setting up the temporary environment.
2021-04-21 18:17:30 +10:00