mirror of
https://github.com/Ed94/gencpp.git
synced 2025-11-09 01:59:12 -08:00
Compare commits
2 Commits
822a3b07dc
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 9ff5908e40 | |||
| 2ad164dc39 |
52
LICENSE
52
LICENSE
@@ -1,44 +1,26 @@
|
|||||||
BSD 3-Clause License
|
MIT License
|
||||||
|
|
||||||
Copyright (c) 2023, Edward R. Gonzalez
|
Copyright (c) 2025 Edward R. Gonzalez
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
modification, are permitted provided that the following conditions are met:
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
1. Redistributions of source code must retain the above copyright notice, this
|
The above copyright notice and this permission notice shall be included in all
|
||||||
list of conditions and the following disclaimer.
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
2. Redistributions in binary form must reproduce the above copyright notice,
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
this list of conditions and the following disclaimer in the documentation
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
and/or other materials provided with the distribution.
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
3. Neither the name of the copyright holder nor the names of its
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
contributors may be used to endorse or promote products derived from
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
this software without specific prior written permission.
|
SOFTWARE.
|
||||||
|
|
||||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
||||||
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
||||||
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
||||||
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
||||||
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
||||||
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
||||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
|
|
||||||
Source URL: https://github.com/Ed94/gencpp
|
Source URL: https://github.com/Ed94/gencpp
|
||||||
|
|
||||||
Acknowledgements
|
Acknowledgements
|
||||||
|
|
||||||
* The dependencies for gencpp source are derived from the zpl library: https://github.com/zpl-c/zpl
|
* The dependencies for gencpp source are derived from the zpl library: https://github.com/zpl-c/zpl
|
||||||
|
|
||||||
Special thanks to:
|
|
||||||
|
|
||||||
* The Handmade Community.
|
|
||||||
|
|
||||||
* Casey Muratori, Ginger Bill (Bill Hall), Mr. 4th (Allen Webster), Ryan Fluery: Influnced conceptually how to handle staged metaprograming.
|
|
||||||
|
|
||||||
* Jonathan Blow: Jai's metaprogramming influenced the design of this library.
|
|
||||||
|
|
||||||
* My friends for putting up with discord spam on this library.
|
|
||||||
|
|||||||
@@ -252,7 +252,8 @@ struct CodeSpecifiers
|
|||||||
#if ! GEN_C_LIKE_CPP
|
#if ! GEN_C_LIKE_CPP
|
||||||
Using_Code( CodeSpecifiers );
|
Using_Code( CodeSpecifiers );
|
||||||
bool append( Specifier spec ) { return specifiers_append(* this, spec); }
|
bool append( Specifier spec ) { return specifiers_append(* this, spec); }
|
||||||
s32 has( Specifier spec ) { return specifiers_has(* this, spec); }
|
bool has( Specifier spec ) { return specifiers_has(* this, spec); }
|
||||||
|
s32 index_of(Specifier spec) { return specifiers_index_of(* this, spec); }
|
||||||
s32 remove( Specifier to_remove ) { return specifiers_remove(* this, to_remove); }
|
s32 remove( Specifier to_remove ) { return specifiers_remove(* this, to_remove); }
|
||||||
StrBuilder to_strbuilder() { return specifiers_to_strbuilder(* this ); }
|
StrBuilder to_strbuilder() { return specifiers_to_strbuilder(* this ); }
|
||||||
void to_strbuilder( StrBuilder& result ) { return specifiers_to_strbuilder_ref(* this, & result); }
|
void to_strbuilder( StrBuilder& result ) { return specifiers_to_strbuilder_ref(* this, & result); }
|
||||||
@@ -1074,7 +1075,8 @@ forceinline StrBuilder to_strbuilder(CodeParams params ) {
|
|||||||
forceinline void to_strbuilder(CodeParams params, StrBuilder& result ) { return params_to_strbuilder_ref(params, & result); }
|
forceinline void to_strbuilder(CodeParams params, StrBuilder& result ) { return params_to_strbuilder_ref(params, & result); }
|
||||||
|
|
||||||
forceinline bool append (CodeSpecifiers specifiers, Specifier spec) { return specifiers_append(specifiers, spec); }
|
forceinline bool append (CodeSpecifiers specifiers, Specifier spec) { return specifiers_append(specifiers, spec); }
|
||||||
forceinline s32 has (CodeSpecifiers specifiers, Specifier spec) { return specifiers_has(specifiers, spec); }
|
forceinline bool has (CodeSpecifiers specifiers, Specifier spec) { return specifiers_has(specifiers, spec); }
|
||||||
|
forceinline s32 index_of (CodeSpecifiers specifiers, Specifier spec) { return specifiers_index_of(specifiers, spec); }
|
||||||
forceinline s32 remove (CodeSpecifiers specifiers, Specifier to_remove ) { return specifiers_remove(specifiers, to_remove); }
|
forceinline s32 remove (CodeSpecifiers specifiers, Specifier to_remove ) { return specifiers_remove(specifiers, to_remove); }
|
||||||
forceinline StrBuilder to_strbuilder(CodeSpecifiers specifiers) { return specifiers_to_strbuilder(specifiers); }
|
forceinline StrBuilder to_strbuilder(CodeSpecifiers specifiers) { return specifiers_to_strbuilder(specifiers); }
|
||||||
forceinline void to_strbuilder(CodeSpecifiers specifiers, StrBuilder& result) { return specifiers_to_strbuilder_ref(specifiers, & result); }
|
forceinline void to_strbuilder(CodeSpecifiers specifiers, StrBuilder& result) { return specifiers_to_strbuilder_ref(specifiers, & result); }
|
||||||
|
|||||||
Reference in New Issue
Block a user