현재 진행중인 프로젝트에서 구조체 멤버 변수의 값이 달라졌을 경우에 로그를 남기는 일을 해야했습니다. 변경 이전의 구조체와 변경 이후의 구조체를 파라미터로 받는 함수를 만들어 각 멤버를 비교, 값이 달라진 경우 로그를 삽입하도록 구현하여 진행하였습니다. 구현이 어렵지는 않았으나 정말 너무 귀찮고 하기 싫었습니다. 그 이유는 구조체의 종류가 너무 많았기 때문입니다. 배열의 값을 비교하듯 반복문을 비교하면 얼마나 좋을까 생각을 하면서 진행하던 중 설마 없을까 싶은 생각에 열심히 검색해보니 boost 라이브러리를 통해 가능하다는 사실을 알았습니다(iterating over a struct in c++). Boost Fusion을 사용한 구조체 iterator 적용 해답은 Boost Fusion의 Adapt S..