5 posts tagged with reflection
c++에서 reflection 사용하기 3
지난 #2에서는 class_t, field_t 자체가 가상 함수를 갖고, class_impl_t와 field_impl_t가 이 class를 상속 받아서 구현하는 방식을 사용하였다. 사실 굳이 이 impl_t class 들은 노출될 필요가 없으므로 이를 감추도록 해보자. 그리고 다 완성된 type을 register함에 있어, 따로 register_class, register_field…
c++에서 reflection 사용하기 4
이전 글에서는 자료구조가 선언된 header파일을 여러 번 include하면 문제가 발생했었다. 하지만 이리저리 참조가 되다보면 각 번역 단위에서 include가 한 번만 되는 것은 굉장히 힘든 일일 것이다. 따라서 본 글에서는 매크로를 잘 정의해서 선언 header파일이 구조체 선언, reflection 등록 딱 2번만 include가 될 수 있도록 만들어볼 것이다. 이전 글(#…
c++에서 reflection 사용하기 2
지난 번 글의 문제점은 다음과 같다. class 정보가 없다. 따라서 이름으로부터 class에 대한 객체를 생성할 수가 없다. field에 대한 정보가 구체 class에 묶여있다. 따라서 그 class를 모르면 field 정보를 얻어올 수 없다. 그래서 이번에는 다음의 기능을 중점으로 구현하였다. 이름(문자열)로 class 정보 찾기 class 정보는 class 객체를 생성할 수 있어야 함 class 정보는 field…
c++에서 reflection 사용하기 1
mmo-server에서 attribute를 json serialize하기 위해 attribute가 가지고 있는 field의 정보를 enumerate 해야할 일이 생겼다. 그런데 c++은 reflection이 없잖아? 그렇게 고민하다가 예전에 쓴 글을 발견했다. c++에서 구조체 RTTI 정보 남기기 기본 아이디어는 다음과 같다. 각 class마다 자신의 field…
java annotation과 reflection을 사용한 xml mapping
마침 요즘 spring을 쓰면서 자바를 공부한다는 친구를 채팅방에서 만나게 되어 reflection과 annotation을 사용한 xml mapping에 대한 코드를 작성해보라고 이야기하였다. 그 친구가 언급한 DI와는 좀 다른 방향이지만, annotation을 사용한 metadata 사용과 reflection을 통한 설계적 유연성을 공부해보면 spring framework…