Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[struct_pb] .proto file to struc_pack tool #808

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

helintongh
Copy link
Contributor

Why

proto file to struct pack header file.

What is changing

Example

syntax = "proto3";

package mygame;

option optimize_for = SPEED;
option cc_enable_arenas = true;

message Vec3 {
    float x = 1;
    float y = 2;
    float z = 3;
}

message Weapon {
    string name = 1;
    int32 damage = 2;
}

message Monster {
  Vec3 pos = 1;
  int32 mana = 2;
  int32 hp = 3;
  string name = 4;
  bytes inventory = 5;
  enum Color {
        Red = 0;
        Green = 1;
        Blue = 2;
  }
  Color color = 6;
  repeated Weapon weapons = 7;
  Weapon equipped = 8;
  repeated Vec3 path = 9;
}

message Monsters {
    repeated Monster monsters = 1;
}

message person {
    int32 id = 1;
    string name = 2;
    int32 age = 3;
    double salary = 4;
}

message persons {
    repeated person person_list = 1;
}

message bench_int32 {
    int32 a = 1;
    int32 b = 2;
    int32 c = 3;
    int32 d = 4;
}

execute command protoc --plugin=protoc-gen-example=./build/proto_to_struct data.proto --example_out=protos

generate data.proto.h in protos folder.

data.proto.h:

#pragma once
#include <ylt/struct_pb.hpp>

#define PUBLIC(T) : public iguana::base_impl<T>

enum class Color {
	Red = 0,
	Green = 1,
	Blue = 2,
};

struct Vec3 PUBLIC(Vec3) {
	Vec3() = default;
	Vec3(float a, float b, float c) : x(a), y(b), z(c) {}
	float x;
	float y;
	float z;
};
YLT_REFL(Vec3, x, y, z);

struct Weapon PUBLIC(Weapon) {
	Weapon() = default;
	Weapon(std::string a, int32 b) : name(std::move(a)), damage(b) {}
	std::string name;
	int32 damage;
};
YLT_REFL(Weapon, name, damage);

struct Monster PUBLIC(Monster) {
	Monster() = default;
	Monster(Vec3 a, int32 b, int32 c, std::string d, std::string e, enum Color f, std::vector<Weapon> g, Weapon h, std::vector<Vec3> i) : pos(a), mana(b), hp(c), name(std::move(d)), inventory(std::move(e)), weapons(std::move(g)), equipped(h), path(std::move(i)) {}
	Vec3 pos;
	int32 mana;
	int32 hp;
	std::string name;
	std::string inventory;
	enum Color color;
	std::vector<Weapon> weapons;
	Weapon equipped;
	std::vector<Vec3> path;
};
YLT_REFL(Monster, pos, mana, hp, name, inventory, color, weapons, equipped, path);

struct Monsters PUBLIC(Monsters) {
	Monsters() = default;
	Monsters(std::vector<Monster> a) : monsters(std::move(a)) {}
	std::vector<Monster> monsters;
};
YLT_REFL(Monsters, monsters);

struct person PUBLIC(person) {
	person() = default;
	person(int32 a, std::string b, int32 c, double d) : id(a), name(std::move(b)), age(c), salary(d) {}
	int32 id;
	std::string name;
	int32 age;
	double salary;
};
YLT_REFL(person, id, name, age, salary);

struct persons PUBLIC(persons) {
	persons() = default;
	persons(std::vector<person> a) : person_list(std::move(a)) {}
	std::vector<person> person_list;
};
YLT_REFL(persons, person_list);

struct bench_int32 PUBLIC(bench_int32) {
	bench_int32() = default;
	bench_int32(int32 a, int32 b, int32 c, int32 d) : a(a), b(b), c(c), d(d) {}
	int32 a;
	int32 b;
	int32 c;
	int32 d;
};
YLT_REFL(bench_int32, a, b, c, d);

Copy link

Code Coverage Report
for detail, goto summary download Artifacts

Filename                                              Functions  Missed Functions  Executed       Lines      Missed Lines     Cover    Branches   Missed Branches     Cover
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
coro_io/client_pool.hpp                                      27                 0   100.00%         305                40    86.89%         104                35    66.35%
coro_io/coro_file.hpp                                        34                 0   100.00%         246                20    91.87%          44                18    59.09%
coro_io/coro_io.hpp                                          63                 5    92.06%         422                37    91.23%          34                 9    73.53%
coro_io/detail/client_queue.hpp                              10                 1    90.00%          47                 5    89.36%          10                 2    80.00%
coro_io/io_context_pool.hpp                                  40                 5    87.50%         227                26    88.55%          28                 8    71.43%
coro_io/load_blancer.hpp                                     16                 0   100.00%         112                 3    97.32%          34                 3    91.18%
coro_io/rate_limiter.hpp                                     13                 1    92.31%          85                 9    89.41%           8                 3    62.50%
coro_rpc/impl/common_service.hpp                              3                 0   100.00%          55                 0   100.00%          26                 7    73.08%
coro_rpc/impl/context.hpp                                     8                 0   100.00%         108                 6    94.44%          16                 6    62.50%
coro_rpc/impl/coro_connection.hpp                            46                10    78.26%         467                74    84.15%         114                38    66.67%
coro_rpc/impl/coro_rpc_client.hpp                            64                 8    87.50%         707               114    83.88%         162                56    65.43%
coro_rpc/impl/coro_rpc_server.hpp                            21                 1    95.24%         237                29    87.76%          82                36    56.10%
coro_rpc/impl/errno.h                                        18                 4    77.78%          64                40    37.50%          36                16    55.56%
coro_rpc/impl/protocol/coro_rpc_protocol.hpp                  9                 1    88.89%         101                32    68.32%          24                 9    62.50%
coro_rpc/impl/protocol/struct_pack_protocol.hpp               3                 0   100.00%          14                 0   100.00%           0                 0         -
coro_rpc/impl/router.hpp                                     22                 0   100.00%         221                13    94.12%          26                13    50.00%
coro_rpc/impl/rpc_execute.hpp                                 3                 0   100.00%         172                 0   100.00%           4                 1    75.00%
easylog.hpp                                                  17                 0   100.00%          73                 3    95.89%          14                 5    64.29%
easylog/appender.hpp                                         23                 0   100.00%         275                16    94.18%          90                25    72.22%
easylog/record.hpp                                           17                 0   100.00%         122                15    87.70%          16                 2    87.50%
metric/counter.hpp                                           25                 0   100.00%         217                 6    97.24%          66                 5    92.42%
metric/dynamic_metric.hpp                                    15                 0   100.00%          71                 0   100.00%          12                 0   100.00%
metric/gauge.hpp                                              5                 0   100.00%          18                 0   100.00%           2                 0   100.00%
metric/histogram.hpp                                         15                 2    86.67%         197                12    93.91%          48                 5    89.58%
metric/metric.hpp                                            30                11    63.33%         105                26    75.24%          18                 2    88.89%
metric/metric_manager.hpp                                    62                 2    96.77%         437                46    89.47%         102                20    80.39%
metric/summary.hpp                                           14                 2    85.71%         135                17    87.41%          32                 6    81.25%
metric/summary_impl.hpp                                      23                 1    95.65%         266                34    87.22%          98                22    77.55%
metric/system_metric.hpp                                     14                 0   100.00%         270                18    93.33%          20                 9    55.00%
metric/thread_local_value.hpp                                12                 0   100.00%          74                 4    94.59%          16                 2    87.50%
reflection/member_count.hpp                                   2                 2     0.00%          38                38     0.00%           0                 0         -
reflection/member_names.hpp                                  18                12    33.33%         169               109    35.50%           4                 1    75.00%
reflection/member_ptr.hpp                                    10                 4    60.00%          61                18    70.49%           0                 0         -
reflection/member_value.hpp                                  17                 1    94.12%         171                21    87.72%           8                 3    62.50%
reflection/private_visitor.hpp                                1                 0   100.00%           4                 0   100.00%           0                 0         -
reflection/template_string.hpp                                3                 2    33.33%          22                14    36.36%           0                 0         -
reflection/user_reflect_macro.hpp                            17                 4    76.47%          66                14    78.79%           0                 0         -
standalone/cinatra/cinatra_log_wrapper.hpp                    4                 1    75.00%           9                 1    88.89%           0                 0         -
standalone/cinatra/cookie.hpp                                15                 2    86.67%          84                 2    97.62%          28                 3    89.29%
standalone/cinatra/coro_http_client.hpp                      98                 9    90.82%        1800               321    82.17%         576               179    68.92%
standalone/cinatra/coro_http_connection.hpp                  38                 1    97.37%         791               165    79.14%         234                62    73.50%
standalone/cinatra/coro_http_request.hpp                     28                 0   100.00%         215                10    95.35%          84                11    86.90%
standalone/cinatra/coro_http_response.hpp                    32                 0   100.00%         281                14    95.02%         114                14    87.72%
standalone/cinatra/coro_http_router.hpp                      15                 0   100.00%         181                22    87.85%          22                10    54.55%
standalone/cinatra/coro_http_server.hpp                      52                 0   100.00%         998               100    89.98%         184                50    72.83%
standalone/cinatra/coro_radix_tree.hpp                       17                 0   100.00%         264                38    85.61%         136                30    77.94%
standalone/cinatra/define.h                                   3                 0   100.00%          36                 2    94.44%          20                 1    95.00%
standalone/cinatra/gzip.hpp                                   6                 2    66.67%         200                99    50.50%          52                28    46.15%
standalone/cinatra/http_parser.hpp                           28                 2    92.86%         183                11    93.99%          52                 3    94.23%
standalone/cinatra/metric_conf.hpp                            8                 0   100.00%          96                24    75.00%          32                12    62.50%
standalone/cinatra/mime_types.hpp                             1                 0   100.00%           7                 2    71.43%           2                 1    50.00%
standalone/cinatra/multipart.hpp                              4                 0   100.00%          89                15    83.15%          22                 5    77.27%
standalone/cinatra/picohttpparser.h                          14                 6    57.14%         467               272    41.76%         212                98    53.77%
standalone/cinatra/response_cv.hpp                            2                 0   100.00%          55                30    45.45%          46                15    67.39%
standalone/cinatra/session.hpp                               11                 0   100.00%          54                 2    96.30%           4                 1    75.00%
standalone/cinatra/session_manager.hpp                       10                 1    90.00%          67                 5    92.54%          10                 1    90.00%
standalone/cinatra/sha1.hpp                                  12                 0   100.00%         181                 8    95.58%          12                 2    83.33%
standalone/cinatra/string_resize.hpp                          2                 0   100.00%          18                 0   100.00%           2                 0   100.00%
standalone/cinatra/time_util.hpp                             20                 9    55.00%         176                92    47.73%          26                 2    92.31%
standalone/cinatra/uri.hpp                                   17                 5    70.59%         200                59    70.50%         166                49    70.48%
standalone/cinatra/url_encode_decode.hpp                      4                 0   100.00%          93                28    69.89%          48                16    66.67%
standalone/cinatra/utils.hpp                                 14                 0   100.00%         221                22    90.05%         116                43    62.93%
standalone/cinatra/websocket.hpp                             15                 4    73.33%         170                42    75.29%          70                17    75.71%
standalone/iguana/common.hpp                                 32                16    50.00%         172                52    69.77%           4                 1    75.00%
standalone/iguana/define.h                                    1                 1     0.00%           3                 3     0.00%           0                 0         -
standalone/iguana/detail/charconv.h                           2                 1    50.00%          31                 4    87.10%           0                 0         -
standalone/iguana/detail/dragonbox.h                         22                22     0.00%          76                76     0.00%           0                 0         -
standalone/iguana/detail/dragonbox_to_chars.h                 2                 2     0.00%         218               218     0.00%           0                 0         -
standalone/iguana/detail/fast_float.h                       105               105     0.00%         994               994     0.00%           0                 0         -
standalone/iguana/detail/itoa.hpp                             3                 2    33.33%          39                12    69.23%          12                 3    75.00%
standalone/iguana/detail/pb_type.hpp                         24                23     4.17%          60                59     1.67%           0                 0         -
standalone/iguana/detail/string_resize.hpp                    4                 2    50.00%          34                16    52.94%           2                 0   100.00%
standalone/iguana/detail/utf.hpp                              5                 5     0.00%         102               102     0.00%          20                20     0.00%
standalone/iguana/dynamic.hpp                                17                 9    47.06%         165                84    49.09%          20                 9    55.00%
standalone/iguana/error_code.h                                9                 9     0.00%          66                66     0.00%           0                 0         -
standalone/iguana/field_reflection.hpp                        8                 7    12.50%         100                92     8.00%           0                 0         -
standalone/iguana/json_util.hpp                               4                 4     0.00%          46                46     0.00%           0                 0         -
standalone/iguana/json_writer.hpp                            15                 0   100.00%         101                 0   100.00%           6                 1    83.33%
standalone/iguana/pb_reader.hpp                               6                 0   100.00%         220                 5    97.73%          16                 6    62.50%
standalone/iguana/pb_util.hpp                                26                 5    80.77%         497               147    70.42%          46                36    21.74%
standalone/iguana/pb_writer.hpp                              18                 1    94.44%         511                66    87.08%          28                 7    75.00%
standalone/iguana/util.hpp                                    3                 1    66.67%          87                57    34.48%          20                16    20.00%
struct_pack.hpp                                              35                 2    94.29%         336                28    91.67%          34                14    58.82%
struct_pack/alignment.hpp                                     9                 9     0.00%         136               136     0.00%           0                 0         -
struct_pack/calculate_size.hpp                               21                 5    76.19%         407                82    79.85%          32                 7    78.12%
struct_pack/compatible.hpp                                    6                 0   100.00%           9                 0   100.00%           6                 2    66.67%
struct_pack/derived_helper.hpp                               14                 7    50.00%         127                61    51.97%           6                 3    50.00%
struct_pack/endian_wrapper.hpp                                9                 3    66.67%         152                28    81.58%           2                 1    50.00%
struct_pack/error_code.hpp                                   11                 6    45.45%          38                30    21.05%           0                 0         -
struct_pack/foreach_macro.h                                   1                 0   100.00%           1                 0   100.00%           0                 0         -
struct_pack/md5_constexpr.hpp                                27                 3    88.89%         174                18    89.66%          32                 1    96.88%
struct_pack/packer.hpp                                       23                 2    91.30%         494                20    95.95%          48                 9    81.25%
struct_pack/reflection.hpp                                   15                 9    40.00%        1868               113    93.95%           0                 0         -
struct_pack/size_info.hpp                                     2                 0   100.00%          10                 0   100.00%           0                 0         -
struct_pack/trivial_view.hpp                                  4                 0   100.00%          10                 0   100.00%           0                 0         -
struct_pack/tuple.hpp                                        21                 2    90.48%          54                 4    92.59%           6                 3    50.00%
struct_pack/type_calculate.hpp                               38                31    18.42%         737               560    24.02%           0                 0         -
struct_pack/type_id.hpp                                       4                 4     0.00%         277               277     0.00%           0                 0         -
struct_pack/unpacker.hpp                                     50                 5    90.00%        1290               139    89.22%         210                88    58.10%
struct_pack/user_helper.hpp                                   6                 0   100.00%          64                 3    95.31%           2                 1    50.00%
struct_pack/util.h                                           12                 7    41.67%         100                61    39.00%           2                 0   100.00%
struct_pack/varint.hpp                                       23                 3    86.96%         147                14    90.48%          12                 3    75.00%
util/concurrentqueue.h                                       78                19    75.64%        1251               575    54.04%         292               160    45.21%
util/dragonbox.h                                             90                50    44.44%         735               388    47.21%          38                34    10.53%
util/dragonbox_to_chars.h                                     6                 1    83.33%         440               365    17.05%          54                43    20.37%
util/expected.hpp                                            93                 7    92.47%         248                37    85.08%          44                17    61.36%
util/function_name.h                                          2                 1    50.00%          22                 7    68.18%           0                 0         -
util/magic_names.hpp                                          1                 1     0.00%          56                56     0.00%           0                 0         -
util/map_sharded.hpp                                         24                 0   100.00%         165                 3    98.18%          36                 5    86.11%
util/meta_string.hpp                                         10                 3    70.00%          46                23    50.00%           8                 0   100.00%
util/time_util.h                                             21                12    42.86%         184               119    35.33%          26                 5    80.77%
util/type_traits.h                                            1                 0   100.00%           9                 0   100.00%           0                 0         -

Files which contain no functions:
coro_http/coro_http_client.hpp                                0                 0         -           0                 0         -           0                 0         -
reflection/internal/arg_list_macro.hpp                        0                 0         -           0                 0         -           0                 0         -
reflection/internal/args_count.hpp                            0                 0         -           0                 0         -           0                 0         -
reflection/internal/common_macro.hpp                          0                 0         -           0                 0         -           0                 0         -
reflection/internal/generate/arg_list_macro_gen.hpp           0                 0         -           0                 0         -           0                 0         -
struct_pack/marco.h                                           0                 0         -           0                 0         -           0                 0         -
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
TOTAL                                                      2173               528    75.70%       26426              7491    71.65%        4632              1515    67.29%

Copy link

Code Coverage Report
for detail, goto summary download Artifacts

Filename                                              Functions  Missed Functions  Executed       Lines      Missed Lines     Cover    Branches   Missed Branches     Cover
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
coro_io/client_pool.hpp                                      27                 0   100.00%         305                41    86.56%         104                36    65.38%
coro_io/coro_file.hpp                                        34                 0   100.00%         246                20    91.87%          44                18    59.09%
coro_io/coro_io.hpp                                          63                 5    92.06%         422                37    91.23%          34                 9    73.53%
coro_io/detail/client_queue.hpp                              10                 1    90.00%          47                 1    97.87%          10                 1    90.00%
coro_io/io_context_pool.hpp                                  40                 5    87.50%         227                26    88.55%          28                 8    71.43%
coro_io/load_blancer.hpp                                     16                 0   100.00%         112                 3    97.32%          34                 3    91.18%
coro_io/rate_limiter.hpp                                     13                 1    92.31%          85                 9    89.41%           8                 3    62.50%
coro_rpc/impl/common_service.hpp                              3                 0   100.00%          55                 0   100.00%          26                 7    73.08%
coro_rpc/impl/context.hpp                                     8                 0   100.00%         108                 6    94.44%          16                 6    62.50%
coro_rpc/impl/coro_connection.hpp                            46                10    78.26%         467                74    84.15%         114                38    66.67%
coro_rpc/impl/coro_rpc_client.hpp                            64                 8    87.50%         707               114    83.88%         162                56    65.43%
coro_rpc/impl/coro_rpc_server.hpp                            21                 1    95.24%         237                29    87.76%          82                36    56.10%
coro_rpc/impl/errno.h                                        18                 4    77.78%          64                40    37.50%          36                16    55.56%
coro_rpc/impl/protocol/coro_rpc_protocol.hpp                  9                 1    88.89%         101                32    68.32%          24                 9    62.50%
coro_rpc/impl/protocol/struct_pack_protocol.hpp               3                 0   100.00%          14                 0   100.00%           0                 0         -
coro_rpc/impl/router.hpp                                     22                 0   100.00%         221                13    94.12%          26                13    50.00%
coro_rpc/impl/rpc_execute.hpp                                 3                 0   100.00%         172                 0   100.00%           4                 1    75.00%
easylog.hpp                                                  17                 0   100.00%          73                 3    95.89%          14                 5    64.29%
easylog/appender.hpp                                         23                 0   100.00%         275                16    94.18%          90                25    72.22%
easylog/record.hpp                                           17                 0   100.00%         122                15    87.70%          16                 2    87.50%
metric/counter.hpp                                           25                 0   100.00%         217                 6    97.24%          66                 5    92.42%
metric/dynamic_metric.hpp                                    15                 0   100.00%          71                 0   100.00%          12                 0   100.00%
metric/gauge.hpp                                              5                 0   100.00%          18                 0   100.00%           2                 0   100.00%
metric/histogram.hpp                                         15                 2    86.67%         197                12    93.91%          48                 5    89.58%
metric/metric.hpp                                            30                11    63.33%         105                26    75.24%          18                 2    88.89%
metric/metric_manager.hpp                                    62                 2    96.77%         437                46    89.47%         102                20    80.39%
metric/summary.hpp                                           14                 2    85.71%         135                17    87.41%          32                 6    81.25%
metric/summary_impl.hpp                                      23                 1    95.65%         266                30    88.72%          98                21    78.57%
metric/system_metric.hpp                                     14                 0   100.00%         270                18    93.33%          20                 9    55.00%
metric/thread_local_value.hpp                                12                 0   100.00%          74                 2    97.30%          16                 1    93.75%
reflection/member_count.hpp                                   2                 2     0.00%          38                38     0.00%           0                 0         -
reflection/member_names.hpp                                  18                12    33.33%         169               109    35.50%           4                 1    75.00%
reflection/member_ptr.hpp                                    10                 4    60.00%          61                18    70.49%           0                 0         -
reflection/member_value.hpp                                  17                 1    94.12%         171                21    87.72%           8                 3    62.50%
reflection/private_visitor.hpp                                1                 0   100.00%           4                 0   100.00%           0                 0         -
reflection/template_string.hpp                                3                 2    33.33%          22                14    36.36%           0                 0         -
reflection/user_reflect_macro.hpp                            17                 4    76.47%          66                14    78.79%           0                 0         -
standalone/cinatra/cinatra_log_wrapper.hpp                    4                 1    75.00%           9                 1    88.89%           0                 0         -
standalone/cinatra/cookie.hpp                                15                 2    86.67%          84                 2    97.62%          28                 3    89.29%
standalone/cinatra/coro_http_client.hpp                      98                 9    90.82%        1800               320    82.22%         576               179    68.92%
standalone/cinatra/coro_http_connection.hpp                  38                 1    97.37%         791               165    79.14%         234                62    73.50%
standalone/cinatra/coro_http_request.hpp                     28                 0   100.00%         215                10    95.35%          84                11    86.90%
standalone/cinatra/coro_http_response.hpp                    32                 0   100.00%         281                14    95.02%         114                14    87.72%
standalone/cinatra/coro_http_router.hpp                      15                 0   100.00%         181                22    87.85%          22                10    54.55%
standalone/cinatra/coro_http_server.hpp                      52                 0   100.00%         998                97    90.28%         184                49    73.37%
standalone/cinatra/coro_radix_tree.hpp                       17                 0   100.00%         264                38    85.61%         136                30    77.94%
standalone/cinatra/define.h                                   3                 0   100.00%          36                 2    94.44%          20                 1    95.00%
standalone/cinatra/gzip.hpp                                   6                 2    66.67%         200                99    50.50%          52                28    46.15%
standalone/cinatra/http_parser.hpp                           28                 2    92.86%         183                11    93.99%          52                 3    94.23%
standalone/cinatra/metric_conf.hpp                            8                 0   100.00%          96                24    75.00%          32                12    62.50%
standalone/cinatra/mime_types.hpp                             1                 0   100.00%           7                 2    71.43%           2                 1    50.00%
standalone/cinatra/multipart.hpp                              4                 0   100.00%          89                15    83.15%          22                 5    77.27%
standalone/cinatra/picohttpparser.h                          14                 6    57.14%         467               272    41.76%         212                98    53.77%
standalone/cinatra/response_cv.hpp                            2                 0   100.00%          55                30    45.45%          46                15    67.39%
standalone/cinatra/session.hpp                               11                 0   100.00%          54                 2    96.30%           4                 1    75.00%
standalone/cinatra/session_manager.hpp                       10                 1    90.00%          67                 5    92.54%          10                 1    90.00%
standalone/cinatra/sha1.hpp                                  12                 0   100.00%         181                 8    95.58%          12                 2    83.33%
standalone/cinatra/string_resize.hpp                          2                 0   100.00%          18                 0   100.00%           2                 0   100.00%
standalone/cinatra/time_util.hpp                             20                 9    55.00%         176                92    47.73%          26                 2    92.31%
standalone/cinatra/uri.hpp                                   17                 5    70.59%         200                59    70.50%         166                49    70.48%
standalone/cinatra/url_encode_decode.hpp                      4                 0   100.00%          93                28    69.89%          48                16    66.67%
standalone/cinatra/utils.hpp                                 14                 0   100.00%         221                22    90.05%         116                43    62.93%
standalone/cinatra/websocket.hpp                             15                 4    73.33%         170                42    75.29%          70                17    75.71%
standalone/iguana/common.hpp                                 32                16    50.00%         172                52    69.77%           4                 1    75.00%
standalone/iguana/define.h                                    1                 1     0.00%           3                 3     0.00%           0                 0         -
standalone/iguana/detail/charconv.h                           2                 1    50.00%          31                 4    87.10%           0                 0         -
standalone/iguana/detail/dragonbox.h                         22                22     0.00%          76                76     0.00%           0                 0         -
standalone/iguana/detail/dragonbox_to_chars.h                 2                 2     0.00%         218               218     0.00%           0                 0         -
standalone/iguana/detail/fast_float.h                       105               105     0.00%         994               994     0.00%           0                 0         -
standalone/iguana/detail/itoa.hpp                             3                 2    33.33%          39                12    69.23%          12                 3    75.00%
standalone/iguana/detail/pb_type.hpp                         24                23     4.17%          60                59     1.67%           0                 0         -
standalone/iguana/detail/string_resize.hpp                    4                 2    50.00%          34                16    52.94%           2                 0   100.00%
standalone/iguana/detail/utf.hpp                              5                 5     0.00%         102               102     0.00%          20                20     0.00%
standalone/iguana/dynamic.hpp                                17                 9    47.06%         165                84    49.09%          20                 9    55.00%
standalone/iguana/error_code.h                                9                 9     0.00%          66                66     0.00%           0                 0         -
standalone/iguana/field_reflection.hpp                        8                 7    12.50%         100                92     8.00%           0                 0         -
standalone/iguana/json_util.hpp                               4                 4     0.00%          46                46     0.00%           0                 0         -
standalone/iguana/json_writer.hpp                            15                 0   100.00%         101                 0   100.00%           6                 1    83.33%
standalone/iguana/pb_reader.hpp                               6                 0   100.00%         220                 5    97.73%          16                 6    62.50%
standalone/iguana/pb_util.hpp                                26                 5    80.77%         497               147    70.42%          46                36    21.74%
standalone/iguana/pb_writer.hpp                              18                 1    94.44%         511                66    87.08%          28                 7    75.00%
standalone/iguana/util.hpp                                    3                 1    66.67%          87                57    34.48%          20                16    20.00%
struct_pack.hpp                                              35                 2    94.29%         336                28    91.67%          34                14    58.82%
struct_pack/alignment.hpp                                     9                 9     0.00%         136               136     0.00%           0                 0         -
struct_pack/calculate_size.hpp                               21                 5    76.19%         407                82    79.85%          32                 7    78.12%
struct_pack/compatible.hpp                                    6                 0   100.00%           9                 0   100.00%           6                 2    66.67%
struct_pack/derived_helper.hpp                               14                 7    50.00%         127                61    51.97%           6                 3    50.00%
struct_pack/endian_wrapper.hpp                                9                 3    66.67%         152                28    81.58%           2                 1    50.00%
struct_pack/error_code.hpp                                   11                 6    45.45%          38                30    21.05%           0                 0         -
struct_pack/foreach_macro.h                                   1                 0   100.00%           1                 0   100.00%           0                 0         -
struct_pack/md5_constexpr.hpp                                27                 3    88.89%         174                18    89.66%          32                 1    96.88%
struct_pack/packer.hpp                                       23                 2    91.30%         494                20    95.95%          48                 9    81.25%
struct_pack/reflection.hpp                                   15                 9    40.00%        1868               113    93.95%           0                 0         -
struct_pack/size_info.hpp                                     2                 0   100.00%          10                 0   100.00%           0                 0         -
struct_pack/trivial_view.hpp                                  4                 0   100.00%          10                 0   100.00%           0                 0         -
struct_pack/tuple.hpp                                        21                 2    90.48%          54                 4    92.59%           6                 3    50.00%
struct_pack/type_calculate.hpp                               38                31    18.42%         737               560    24.02%           0                 0         -
struct_pack/type_id.hpp                                       4                 4     0.00%         277               277     0.00%           0                 0         -
struct_pack/unpacker.hpp                                     50                 5    90.00%        1290               139    89.22%         210                88    58.10%
struct_pack/user_helper.hpp                                   6                 0   100.00%          64                 3    95.31%           2                 1    50.00%
struct_pack/util.h                                           12                 7    41.67%         100                61    39.00%           2                 0   100.00%
struct_pack/varint.hpp                                       23                 3    86.96%         147                14    90.48%          12                 3    75.00%
util/concurrentqueue.h                                       78                19    75.64%        1251               561    55.16%         292               157    46.23%
util/dragonbox.h                                             90                50    44.44%         735               388    47.21%          38                34    10.53%
util/dragonbox_to_chars.h                                     6                 1    83.33%         440               365    17.05%          54                43    20.37%
util/expected.hpp                                            93                 7    92.47%         248                37    85.08%          44                17    61.36%
util/function_name.h                                          2                 1    50.00%          22                 7    68.18%           0                 0         -
util/magic_names.hpp                                          1                 1     0.00%          56                56     0.00%           0                 0         -
util/map_sharded.hpp                                         24                 0   100.00%         165                 3    98.18%          36                 5    86.11%
util/meta_string.hpp                                         10                 3    70.00%          46                23    50.00%           8                 0   100.00%
util/time_util.h                                             21                12    42.86%         184               119    35.33%          26                 5    80.77%
util/type_traits.h                                            1                 0   100.00%           9                 0   100.00%           0                 0         -

Files which contain no functions:
coro_http/coro_http_client.hpp                                0                 0         -           0                 0         -           0                 0         -
reflection/internal/arg_list_macro.hpp                        0                 0         -           0                 0         -           0                 0         -
reflection/internal/args_count.hpp                            0                 0         -           0                 0         -           0                 0         -
reflection/internal/common_macro.hpp                          0                 0         -           0                 0         -           0                 0         -
reflection/internal/generate/arg_list_macro_gen.hpp           0                 0         -           0                 0         -           0                 0         -
struct_pack/marco.h                                           0                 0         -           0                 0         -           0                 0         -
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
TOTAL                                                      2173               528    75.70%       26426              7464    71.76%        4632              1509    67.42%

@helintongh helintongh changed the title feat: .proto file to struc_pack tool [struct_pb] .proto file to struc_pack tool Nov 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant