5119b7550f
Adding missing header to toml.hpp
buildbot/IOCore-linux-builder Build done.
buildbot/IOCore-macos-builder Build done.
buildbot/IOCore-freebsd-builder Build done.
2024-09-08 00:54:22 -04:00
f4f6ea7c81
Revamp of the TOML serialization code.
...
buildbot/IOCore-linux-builder Build done.
buildbot/IOCore-macos-builder Build done.
buildbot/IOCore-freebsd-builder Build done.
This is a combination of 4 commits.
---
This is the 1st commit message:
Final attempt to revamp this cursed API
This is the commit message #2 :
---
Simplify util/macros.hpp and rewrite util/toml from scratch
This is the commit message #3 :
---
Very nearly done refactoring TOML serializer; still failing 2-3 unit tests
This is the commit message #4 :
---
Finalize the toml serialization API refactor.
Additionally: Standardize the data structures used in Toml unit tests
2024-09-03 22:53:20 -04:00
ec369bdb89
Add convenience macros for defining serialization overrides for types you can't modify, like std::map
buildbot/IOCore-linux-builder Build done.
buildbot/IOCore-macos-builder Build done.
buildbot/IOCore-freebsd-builder Build done.
2024-08-18 10:24:51 -04:00
fcdc7624e1
Restructued Toml serialization code; breaking changes to c::string in types.hpp
...
ctypes.hpp: Added a string_constant alias for const char* char and preparing to deprecate some older names
include/*Toml*: Restructured code so that serialization visitors are in their own class, which can be friended by classes.
Still using templates to specialize uknown types.
2024-08-18 10:18:42 -04:00
254dc5ee74
[Toml]Fix type deduction by using toml++'s built-in type_traits
buildbot/IOCore-linux-builder Build done.
buildbot/IOCore-macos-builder Build done.
buildbot/IOCore-freebsd-builder Build done.
2024-08-13 19:27:42 -04:00
745730c3f4
Improve worker function names in toml.hpp
2024-08-13 18:14:44 -04:00
16f9fb3f70
Prevent a recursive call to to_toml_table and from_toml_table by adding _impl at the end of the non-templated variants
buildbot/IOCore-linux-builder Build done.
buildbot/IOCore-macos-builder Build done.
buildbot/IOCore-freebsd-builder Build done.
2024-08-13 15:01:13 -04:00
c096918e78
Simplify to_toml_table function code
buildbot/IOCore-linux-builder Build done.
buildbot/IOCore-freebsd-builder Build done.
buildbot/IOCore-macos-builder Build done.
2024-08-13 14:40:51 -04:00
3d8bc6c96a
Try to use templating to deduct types when dealing with complex structs
buildbot/IOCore-linux-builder Build done.
buildbot/IOCore-macos-builder Build done.
buildbot/IOCore-freebsd-builder Build done.
2024-08-13 14:35:54 -04:00
47a681e369
Add missing TomlConfigFile unit tests and adjust Toml code to make it work
buildbot/IOCore-linux-builder Build done.
buildbot/IOCore-macos-builder Build done.
buildbot/IOCore-freebsd-builder Build done.
2024-08-13 14:25:41 -04:00
054a5cd59b
[Linux|GCC][Build] Fix: move template specializations out of class scope
buildbot/IOCore-linux-builder Build done.
buildbot/IOCore-macos-builder Build done.
buildbot/IOCore-freebsd-builder Build done.
2024-08-13 12:22:24 -04:00
ff4afed813
(wip) Add TomlConfigFile unit tests and fix missing operator=<toml::table> function
buildbot/IOCore-linux-builder Build done.
buildbot/IOCore-macos-builder Build done.
buildbot/IOCore-freebsd-builder Build done.
2024-08-13 08:59:44 -04:00
ca4048c038
Fix bug when serializing class types
buildbot/IOCore-linux-builder Build done.
buildbot/IOCore-macos-builder Build done.
buildbot/IOCore-freebsd-builder Build done.
2024-08-04 19:28:17 -04:00
5217f97acb
[Toml,TomlTable] Replace macro implementations with template functions
...
buildbot/IOCore-linux-builder Build done.
buildbot/IOCore-macos-builder Build done.
buildbot/IOCore-freebsd-builder Build done.
for better debugging, error messages, and development.
Templates provide better type deduction and safety anyway.
2024-08-04 18:07:50 -04:00
0e90586f33
change the _class_name const string in IOCORE_TOML_SERIALIZABLE to a constexpr method
2024-08-03 09:14:38 -04:00
1928b128ce
Separate JSON serialization and TOML serialization macros
buildbot/IOCore-linux-builder Build done.
buildbot/IOCore-macos-builder Build done.
buildbot/IOCore-freebsd-builder Build done.
2024-08-03 08:37:23 -04:00
ec988598d3
Fix local include path for consuming libraries
buildbot/IOCore-linux-builder Build done.
buildbot/IOCore-macos-builder Build done.
buildbot/IOCore-freebsd-builder Build done.
2024-08-03 07:35:02 -04:00
d49ef1ab77
[serialization.hpp] Add IOCORE_TOML support
buildbot/IOCore-linux-builder Build done.
buildbot/IOCore-macos-builder Build done.
buildbot/IOCore-freebsd-builder Build done.
2024-08-03 07:32:23 -04:00
14bf605b06
Mark the enum serialization functions inline to prevent duplicate symbols
buildbot/IOCore-macos-builder Build done.
buildbot/IOCore-freebsd-builder Build done.
buildbot/IOCore-linux-builder Build done.
2024-07-29 08:33:10 -04:00
3fa87439d5
Rename internal macros; Move TomlTable to its own file
2024-07-29 01:20:48 -04:00
1346b33c74
Add a templated .as() operator to Table class, for better deserialization
2024-07-28 07:25:57 -04:00
4801d29f8d
Complete new C++ macros to generate toml serialization code for classes and enums
2024-07-27 23:21:47 -04:00
a0a0df6f19
Add Toml support using toml++ and custom preprocessor macros
buildbot/IOCore-macos-builder Build done.
2024-06-16 22:39:15 -04:00
98e672042d
Fix namespace for JsonConfigFile; Add missing dependencies (how was this working?)
buildbot/IOCore-linux-builder Build done.
buildbot/IOCore-macos-builder Build done.
2024-06-06 08:09:31 -04:00
6e5045278b
Improve the ASSERT macro so that it works with std::unique_ptr::operator(bool)
...
Fix path determination in Exception class
2024-05-11 01:20:54 -04:00
c042c13ccd
Removing unneded header in sys/paths.hpp
buildbot/linux-podman-cmake-builder Build done.
buildbot/darwin-macos-cmake-builder Build done.
buildbot/freebsd-jail-cmake-builder Build done.
2024-04-18 23:52:32 -04:00
722118bd92
Move editorconfig files to .vim folder; move headers under IOCore/ subdir
2024-04-18 23:27:17 -04:00
da2249e6c0
Add missing FileResources implementation.
...
buildbot/linux-podman-cmake-builder Build done.
buildbot/darwin-macos-cmake-builder Build done.
buildbot/freebsd-jail-cmake-builder Build done.
Improve naming of private method in Exception class.
2024-04-15 22:15:26 -04:00
7bd3ef8db9
Fix FileResource class namespace
2024-04-15 12:16:52 -04:00
0ad0c54deb
Add fmt string interpolation library; Prevent duplicate Application::ctor calls
buildbot/linux-podman-cmake-builder Build done.
buildbot/freebsd-jail-cmake-builder Build done.
buildbot/darwin-macos-cmake-builder Build done.
2024-04-14 14:02:22 -04:00
010e76d7ee
Remove unused IApplication interface header.
2024-04-14 10:36:11 -04:00
a84bb47e53
Move Application::init() code to constructor
2024-03-30 15:33:45 -04:00
cd809f3e4e
Fix incorrect namespace in convenience macro
2024-03-30 13:45:45 -04:00
8b53f6d0e8
Rename namespace to IOCore
2024-03-24 14:38:41 -04:00
47fe07ba37
Import code from existing projects.
2024-03-24 14:35:15 -04:00
2e3dffa221
Import vim, clang-format and clang-tidy settings
2024-03-24 14:34:43 -04:00