diff --git a/include/ndnboost/mpl/aux_/preprocessed/msvc60/shift_left.hpp b/include/ndnboost/mpl/aux_/preprocessed/msvc60/shift_left.hpp
index cc05688..e81999a 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/msvc60/shift_left.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/msvc60/shift_left.hpp
@@ -16,8 +16,8 @@
       typename Tag1
     , typename Tag2
 
-    , BOOST_MPL_AUX_NTTP_DECL(int, tag1_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value
-    , BOOST_MPL_AUX_NTTP_DECL(int, tag2_)  = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value
+    , NDNBOOST_MPL_AUX_NTTP_DECL(int, tag1_)  = NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value
+    , NDNBOOST_MPL_AUX_NTTP_DECL(int, tag2_)  = NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value
     >
 struct shift_left_impl
     : if_c<
@@ -34,7 +34,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -43,7 +43,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -52,7 +52,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -62,8 +62,8 @@
 };
 
 template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
+      typename NDNBOOST_MPL_AUX_NA_PARAM(N1)
+    , typename NDNBOOST_MPL_AUX_NA_PARAM(N2)
     >
 struct shift_left
     : aux::msvc_eti_base< typename apply_wrap2<
@@ -76,11 +76,11 @@
         >::type >::type
 
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_left, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_left, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_left)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, shift_left)
 
 }}
 
@@ -90,7 +90,7 @@
 template< typename T, typename Shift, T n, Shift s >
 struct shift_left_wknd
 {
-    BOOST_STATIC_CONSTANT(T, value  = (n << s));
+    NDNBOOST_STATIC_CONSTANT(T, value  = (n << s));
     typedef integral_c< T,value > type;
 };
 
