2014년 7월 25일 금요일

boost multi-index map

  1. nth_index 로 접근하는 방식은 deprecated 되어있다. 태그를 정의해서 사용 하도록 하자.
  2. index 정의는 필요한 것만 하도록 한다.
  3. hashed_ , oredred_ .. , unique, non_unique .. 취사 선택은 적절히 알아서..


2014년 7월 23일 수요일

boost::serialization

boost::serialization 을 이용한 간단한 직렬화 역직렬화 코드이다.



vs2013 에서 variadic 을 지원하기 시작하면서 기존에 만들어봤던 코드를 조금 간략하게 표현할 수 있게 되었다.

기존 :

변경 :

2014년 7월 22일 화요일

boost 1.55 build with Visual Studio 2013

visual studio 2013 에서 boost 1.55 버전 빌드를 하다 보면

serialization 이 빌드가 안되어있는 것을 볼 수 있다.

--with-serialization 으로 serialization 라이브러리만 따로 빌드를 돌려서 출력을 따로 뽑아 보면,

boost_1_55_0\boost/archive/iterators/transform_width.hpp(154) : error C2039: 'min' : is not a member of 'std'

이런식으로 에러가 뜨는 것을 확인할 수 있는데 visual studio 자체적으로 min, max 에 대해서 정의를 하고 있어서다. 이 문제는 std numeric_limits 를 사용할 때도 마주치게 되는데, 이 때는 NOMINMAX 를 전처리 정의에 포함 시켜주면 된다.

boost 빌드의 경우에는 위에 나온 transform_width.hpp 파일을 열고 상단에 #include <algorithm> 을 한 줄 넣어주면 된다.