Skip to content

[C++] Add support for nested class types in row encoder#1173

Merged
chaokunyang merged 1 commit intoapache:mainfrom
PragmaTwice:nested-struct
Nov 29, 2023
Merged

[C++] Add support for nested class types in row encoder#1173
chaokunyang merged 1 commit intoapache:mainfrom
PragmaTwice:nested-struct

Conversation

@PragmaTwice
Copy link
Member

@PragmaTwice PragmaTwice commented Nov 29, 2023

What do these changes do?

Nested struct/class types is finally supported! e.g

struct A { ... };
FURY_FIELD_INFO(A, ...);

struct B { ... };
FURY_FIELD_INFO(B, ...);

struct D {
  int x;
  A y;
  B z;
};
FURY_FIELD_INFO(D, x, y, z);

RowWriter writer(encoder::RowEncodeTrait<D>::Schema());
writer.Reset();

D d{233, {234, 3.14, true}, {235, "hi"}};
encoder::RowEncodeTrait<D>::Write(d, writer);
...

Check code requirements

  • tests added / passed (if needed)
  • Ensure all linting tests pass, see here for how to run them

Copy link
Collaborator

@chaokunyang chaokunyang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, now fury cpp is much more feature completed

@chaokunyang chaokunyang merged commit fef254d into apache:main Nov 29, 2023
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.

2 participants