Commit Graph

35 Commits

Author SHA1 Message Date
qicosmos 476b5842d4
[struct_pb]Refact struct pb (#680) 2024-05-29 11:43:20 +08:00
qicosmos 1bb022e500
[ylt]Add version (#670) 2024-04-26 13:45:52 +08:00
saipubw a414eea434
move iguana and cinatra to standalone subdir (#639) 2024-03-19 17:00:57 +08:00
saipubw 288024013e
Release v0.3.1 (#637) 2024-03-19 11:36:25 +08:00
saipubw 05daeb27cd
Update CMakeLists.txt 2024-03-18 17:11:42 +08:00
PikachuHy 1b5f5199d6
export cmake option when developer use CMake FetchContent (#591)
For example, use the following cmake config
```
include(FetchContent)
FetchContent_Declare(
        yalantinglibs
        GIT_REPOSITORY https://github.com/alibaba/yalantinglibs.git
        GIT_TAG xxx # use the least commit id
        GIT_SHALLOW 1 # optional ( --depth=1 )
)
FetchContent_MakeAvailable(yalantinglibs)
add_executable(demo main.cpp)
target_link_libraries(demo PRIVATE yalantinglibs)
```

you can use `cmake -DENABLE_STRUCT_PACK_UNPORTABLE_TYPE=ON ..`,
the option `ENABLE_STRUCT_PACK_UNPORTABLE_TYPE=ON` will be used when building yalantinglibs
2024-02-05 11:30:33 +08:00
qicosmos 888c8a7f2d
Update version 2024-01-26 14:00:04 +08:00
JYLeeLYJ c41e7a0865
feat: support FetchContent use in CMake (#519) 2023-12-07 10:27:58 +08:00
saipubw 04c3e75e0c
V 0.2.7 Release 2023-11-27 18:04:04 +08:00
saipubw f42226632d
Update CMakeLists.txt 2023-11-22 14:36:56 +08:00
saipubw b6622595d6
Release 0.2.5 2023-08-31 11:46:44 +08:00
saipubw 252320d1f1
Release V0.2.6 2023-08-31 11:46:09 +08:00
saipubw 64d4b3b836
Release Version 0.2.3 2023-08-17 17:47:01 +08:00
saipubw 0acb5e308d
V0.2.2 Release 2023-08-04 15:16:31 +08:00
saipubw 23d62e761b
[struct_pack][breakchange][feat] support c++17 (#392)
* [struct_pack] remove consteval

* [struct_pack] compatible likely/unlikely

* [struct_pack] don't include tuplet:tuple in cpp17

* [struct_pack] bench/test/examples support cpp17

* [struct_pack] remove spaceship operator for cpp17

* [struct_pack] remove auto in function parameters

* [struct_pack] use void_t/constexpr bool/static_assert to simulate concept when -std=c++17

* [struct_pack]  remove requires

* [struct_pack] remove std::remove_cvref_t

* [struct_pack] remove char8_t

* [struct_pack] remove std::same_as

* [struct_pack][breakchange] use uint64_t to instead struct_pack::serialize_config

* [struct_pack] remove unevaluate inline lambda

* [struct_pack] fix trivially_copyable_container

* [struct_pack] fix struct_pack_benchmark

* [struct_pack] remove default operator ==

* [struct_pack] fix string_literal

* [struct_pack] fix explicit template paramters in lamdba

* [struct_pack] move <bit> header file

* [struct_pack] fix msvc test failed

* [struct_pack] update doc & ci
2023-08-02 16:29:22 +08:00
saipubw 507769a2d5
Release 0.2.1 2023-07-26 10:50:26 +08:00
saipubw c90d1adc65
[struct_pack] support non-aggregate type (#382)
* [struct_pack] add support for non-aggregated type
2023-07-25 13:33:55 +08:00
saipubw 66da6c93f5
Fix document (#350) 2023-07-05 17:42:38 +08:00
saipubw 3d6f9d39de
update ci (#348) 2023-07-04 16:10:01 +08:00
saipubw 333b1299c2
refactor project (#347)
refact project
2023-07-04 14:09:35 +08:00
helintongh 6c046ce606
fix cmake error in minimize ubuntu 20.04 and vcpkg ci pipeline (#159) 2023-01-20 07:29:48 +08:00
qicosmos 37995b2fcd
Improve benchmark (#144)
* do some improvement

* unify bench code

* unify bench

* fix path

* fix header

* try to fix

* fix

* update
2023-01-11 19:34:52 +08:00
向日葵骑士 afc738f30d
refactor: friendly-cmake (#93) 2022-12-07 10:27:44 +08:00
PikachuHy 2ce13c671a
loose folder requirement (#91) 2022-12-06 16:51:25 +08:00
saipubw 2f6929a5cd
Fix Warning (#88)
* Fix Warning

* fix format
2022-12-05 19:54:42 +08:00
qicosmos 48cc0b9424
support_json (#75)
* support_json

* format
2022-11-28 14:07:05 +08:00
saipubw f9f31e62ab
[coro_rpc] fix gcc O3 link error (#51) 2022-11-09 11:38:06 +08:00
Refvalue 1d9f2e4f09
[coro_rpc] Full MSVC support and bug fixes part 1. (#37)
* ## Why

Closes #18
Made this repo available to MSVC.

## What is changing

Added:
- util/magic_names.hpp
- util/meta_string.hpp
- A uniform MSVC/GCC/Clang implementation of reflecting qualified function names.
- A meta_string class for template programming as non-type parameter when enabling C++20.

Added:
- util/benchmark
- util/examples
- util/tests
Some static asserts for ensuring correctness of newly added code.

Modified/Fixed:
- coro_rpc: CMakeLists.txt
- coro_rpc/tests/ServerTester.hpp
- coro_rpc/tests/test_coro_rpc_server.hpp
- util/function_name.h
Fixed fatal issues when compiling with MSVC.
Fixed incorrect function names when using MSVC.

All unit tests have passed on MSVC 19.3x/GCC11.x/12.x/Clang 15+.
Core logics have passed on GoldBolt.

## Example
Please view src/util/tests

* ## Why

Closes #18
Made this repo available to MSVC.

## What is changing

Added:
- util/magic_names.hpp
- util/meta_string.hpp
- A uniform MSVC/GCC/Clang implementation of reflecting qualified function names.
- A meta_string class for template programming as non-type parameter when enabling C++20.

Added:
- util/benchmark
- util/examples
- util/tests
Some static asserts for ensuring correctness of newly added code.

Modified/Fixed:
- coro_rpc: CMakeLists.txt
- coro_rpc/tests/ServerTester.hpp
- coro_rpc/tests/test_coro_rpc_server.hpp
- util/function_name.h
Fixed fatal issues when compiling with MSVC.
Fixed incorrect function names when using MSVC.

All unit tests have passed on MSVC 19.3x/GCC11.x/12.x/Clang 15+.
Core logics have passed on GoldBolt.

## Example
Please view src/util/tests

* Removed the dependency <ranges>

* Fixed:
A workaround for no support for std::string_view::<=> with Apple Clang.
Fixed the Clang 14.0.0 crash when compiling util/tests/static_asserts.cpp

* clang_format fixes.

* Fixed:
x86-64 clang in some versions crashed when compiling util/tests/static_asserts.cpp.
Apple Clang did not compile.

* comment template function assert

* Update static_asserts.cpp

* Update static_asserts.cpp

remove some test code

* win ci enable all projects

* fix -pthread

* ignore data_gen

* fix

* Added:
util/string_finder.hpp
A uniform implementation of string finder with find, find_first_of, rfind, find_last_of.

Modified:
Keeps identical output from GCC, Clang, Apple Clang, etc.

* Added operator+ for meta_string.
Added data() members for meta_string.

* Modified:
Extracted duplicate macro condition tests of different access to function signatures into a macro.

* Added the __thiscall calling convention for function signature extraction.
Fixed the failure in unit tests on x86 architecture.

* Matched the coding principle.

* disable x86

* Update CMakeLists.txt

* Update test_variadic.cpp

* Update windows.yml

* Update test_variadic.cpp

Co-authored-by: saipubw <1.048590@gmail.com>
Co-authored-by: qicosmos <qicosmos@linux.alibaba.com>
Co-authored-by: PikachuHy <pikachuhy@linux.alibaba.com>
2022-11-09 10:43:12 +08:00
saipubw 623b0e621e
[struct_pack] Add type: trival_class_t & non_trival_class_t. Add more… (#44)
* [struct_pack] Add type: trival_class_t & non_trival_class_t. Add more type cast test. Fix type calculate bug. Fix tuplet::tuple. Fix serialize_to with compatible_member.

* add tuplet::get

* add bigobj for msvc

* add forward declaration for get.

* close a test case, will open later.

Co-authored-by: qicosmos <qicosmos@linux.alibaba.com>
2022-11-04 11:50:53 +08:00
PikachuHy 98dfd3bcd3
check asan before use (#30) 2022-11-01 16:20:49 +08:00
PikachuHy fe283787a0 Revert "make asan optional (#14)"
This reverts commit 66786384b1.
2022-11-01 16:06:54 +08:00
PikachuHy 11660daaa2 Revert "fix for pthread (#11)"
This reverts commit 858f4ed0e3.
2022-11-01 16:06:45 +08:00
qicosmos 66786384b1
make asan optional (#14)
* make asan optional

* give warning if asan not found
2022-10-25 16:27:30 +08:00
qicosmos 858f4ed0e3
fix for pthread (#11) 2022-10-25 11:35:08 +08:00
PikachuHy 061bbe5ae1 add code 2022-10-22 12:47:24 +08:00