diff --git a/include/ndnboost/mpl/aux_/preprocessed/mwcw/bitor.hpp b/include/ndnboost/mpl/aux_/preprocessed/mwcw/bitor.hpp
index c71a8f4..e98247b 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/mwcw/bitor.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/mwcw/bitor.hpp
@@ -18,8 +18,8 @@
     >
 struct bitor_impl
     : if_c<
-          ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
-              > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
+          ( NDNBOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
+              > NDNBOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
             )
 
         , aux::cast2nd_impl< bitor_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -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,14 +62,14 @@
 };
 
 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)
     , typename N3 = na, typename N4 = na, typename N5 = na
     >
 struct bitor_
     : bitor_< bitor_< bitor_< bitor_< N1,N2 >, N3>, N4>, N5>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , bitor_
         , ( N1, N2, N3, N4, N5 )
@@ -83,7 +83,7 @@
 
     : bitor_< bitor_< bitor_< N1,N2 >, N3>, N4>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , bitor_
         , ( N1, N2, N3, N4, na )
@@ -97,7 +97,7 @@
 
     : bitor_< bitor_< N1,N2 >, N3>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , bitor_
         , ( N1, N2, N3, na, na )
@@ -113,7 +113,7 @@
         , typename bitor_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , bitor_
         , ( N1, N2, na, na, na )
@@ -121,7 +121,7 @@
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitor_)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 5, bitor_)
 
 }}
 
@@ -136,8 +136,8 @@
                   typename N1::value_type
                 , typename N2::value_type
                 >::type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
-                  | BOOST_MPL_AUX_VALUE_WKND(N2)::value
+            , ( NDNBOOST_MPL_AUX_VALUE_WKND(N1)::value
+                  | NDNBOOST_MPL_AUX_VALUE_WKND(N2)::value
                 )
             >
     {
