diff --git a/include/ndnboost/mpl/apply_wrap.hpp b/include/ndnboost/mpl/apply_wrap.hpp
index 1f17eb0..5e7c042 100644
--- a/include/ndnboost/mpl/apply_wrap.hpp
+++ b/include/ndnboost/mpl/apply_wrap.hpp
@@ -1,10 +1,10 @@
 
-#if !defined(BOOST_PP_IS_ITERATING)
+#if !defined(NDNBOOST_PP_IS_ITERATING)
 
 ///// header body
 
-#ifndef BOOST_MPL_APPLY_WRAP_HPP_INCLUDED
-#define BOOST_MPL_APPLY_WRAP_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_APPLY_WRAP_HPP_INCLUDED
+#define NDNBOOST_MPL_APPLY_WRAP_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2008
 //
@@ -18,7 +18,7 @@
 // $Date: 2008-10-10 23:50:46 -0700 (Fri, 10 Oct 2008) $
 // $Revision: 49272 $
 
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
+#if !defined(NDNBOOST_MPL_PREPROCESSING_MODE)
 #   include <ndnboost/mpl/aux_/arity.hpp>
 #   include <ndnboost/mpl/aux_/has_apply.hpp>
 #   include <ndnboost/mpl/aux_/na.hpp>
@@ -27,10 +27,10 @@
 
 #include <ndnboost/mpl/aux_/config/use_preprocessed.hpp>
 
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
-    && !defined(BOOST_MPL_PREPROCESSING_MODE)
+#if !defined(NDNBOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
+    && !defined(NDNBOOST_MPL_PREPROCESSING_MODE)
 
-#   define BOOST_MPL_PREPROCESSED_HEADER apply_wrap.hpp
+#   define NDNBOOST_MPL_PREPROCESSED_HEADER apply_wrap.hpp
 #   include <ndnboost/mpl/aux_/include_preprocessed.hpp>
 
 #else
@@ -56,17 +56,17 @@
 
 // local macros, #undef-ined at the end of the header
 #   define AUX778076_APPLY_WRAP_PARAMS(n, param) \
-    BOOST_MPL_PP_PARAMS(n, param) \
+    NDNBOOST_MPL_PP_PARAMS(n, param) \
     /**/
 
 #   define AUX778076_APPLY_WRAP_SPEC_PARAMS(n, param) \
-    BOOST_MPL_PP_ENUM(BOOST_PP_INC(n), param) \
+    NDNBOOST_MPL_PP_ENUM(NDNBOOST_PP_INC(n), param) \
     /**/
 
 
-#define BOOST_PP_ITERATION_PARAMS_1 \
-    (3,(0, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, <ndnboost/mpl/apply_wrap.hpp>))
-#include BOOST_PP_ITERATE()
+#define NDNBOOST_PP_ITERATION_PARAMS_1 \
+    (3,(0, NDNBOOST_MPL_LIMIT_METAFUNCTION_ARITY, <ndnboost/mpl/apply_wrap.hpp>))
+#include NDNBOOST_PP_ITERATE()
 
 
 #   undef AUX778076_APPLY_WRAP_SPEC_PARAMS
@@ -74,57 +74,57 @@
 
 }}
 
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-#endif // BOOST_MPL_APPLY_WRAP_HPP_INCLUDED
+#endif // NDNBOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
+#endif // NDNBOOST_MPL_APPLY_WRAP_HPP_INCLUDED
 
 ///// iteration, depth == 1
 
 // For gcc 4.4 compatability, we must include the
-// BOOST_PP_ITERATION_DEPTH test inside an #else clause.
-#else // BOOST_PP_IS_ITERATING
-#if BOOST_PP_ITERATION_DEPTH() == 1
+// NDNBOOST_PP_ITERATION_DEPTH test inside an #else clause.
+#else // NDNBOOST_PP_IS_ITERATING
+#if NDNBOOST_PP_ITERATION_DEPTH() == 1
 
-#   define i_ BOOST_PP_FRAME_ITERATION(1)
+#   define i_ NDNBOOST_PP_FRAME_ITERATION(1)
 
-#   if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
+#   if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, < 1300)
 // MSVC version
 
-#define AUX778076_MSVC_DTW_NAME BOOST_PP_CAT(msvc_apply,i_)
+#define AUX778076_MSVC_DTW_NAME NDNBOOST_PP_CAT(msvc_apply,i_)
 #define AUX778076_MSVC_DTW_ORIGINAL_NAME apply
 #define AUX778076_MSVC_DTW_ARITY i_
 #include <ndnboost/mpl/aux_/msvc_dtw.hpp>
 
 template<
-      typename F BOOST_PP_COMMA_IF(i_) AUX778076_APPLY_WRAP_PARAMS(i_, typename T)
+      typename F NDNBOOST_PP_COMMA_IF(i_) AUX778076_APPLY_WRAP_PARAMS(i_, typename T)
     >
-struct BOOST_PP_CAT(apply_wrap,i_)
+struct NDNBOOST_PP_CAT(apply_wrap,i_)
 {
     // Metafunction forwarding confuses vc6
-    typedef typename BOOST_PP_CAT(msvc_apply,i_)<F>::template result_<
+    typedef typename NDNBOOST_PP_CAT(msvc_apply,i_)<F>::template result_<
           AUX778076_APPLY_WRAP_PARAMS(i_, T)
         >::type type;
 };
 
-#   elif defined(BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES)
+#   elif defined(NDNBOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES)
 // MWCW/Borland version
 
 template<
-      int N, typename F BOOST_PP_COMMA_IF(i_) AUX778076_APPLY_WRAP_PARAMS(i_, typename T)
+      int N, typename F NDNBOOST_PP_COMMA_IF(i_) AUX778076_APPLY_WRAP_PARAMS(i_, typename T)
     >
-struct BOOST_PP_CAT(apply_wrap_impl,i_);
+struct NDNBOOST_PP_CAT(apply_wrap_impl,i_);
 
-#define BOOST_PP_ITERATION_PARAMS_2 \
-    (3,(0, BOOST_MPL_LIMIT_METAFUNCTION_ARITY - i_, <ndnboost/mpl/apply_wrap.hpp>))
-#include BOOST_PP_ITERATE()
+#define NDNBOOST_PP_ITERATION_PARAMS_2 \
+    (3,(0, NDNBOOST_MPL_LIMIT_METAFUNCTION_ARITY - i_, <ndnboost/mpl/apply_wrap.hpp>))
+#include NDNBOOST_PP_ITERATE()
 
 template<
-      typename F BOOST_PP_COMMA_IF(i_) AUX778076_APPLY_WRAP_PARAMS(i_, typename T)
+      typename F NDNBOOST_PP_COMMA_IF(i_) AUX778076_APPLY_WRAP_PARAMS(i_, typename T)
     >
-struct BOOST_PP_CAT(apply_wrap,i_)
-    : BOOST_PP_CAT(apply_wrap_impl,i_)<
+struct NDNBOOST_PP_CAT(apply_wrap,i_)
+    : NDNBOOST_PP_CAT(apply_wrap_impl,i_)<
           ::ndnboost::mpl::aux::arity<F,i_>::value
         , F
-        BOOST_PP_COMMA_IF(i_) AUX778076_APPLY_WRAP_PARAMS(i_, T)
+        NDNBOOST_PP_COMMA_IF(i_) AUX778076_APPLY_WRAP_PARAMS(i_, T)
         >::type
 {
 };
@@ -133,14 +133,14 @@
 // ISO98 C++, with minor concession to vc7
 
 template<
-      typename F BOOST_PP_COMMA_IF(i_) AUX778076_APPLY_WRAP_PARAMS(i_, typename T)
+      typename F NDNBOOST_PP_COMMA_IF(i_) AUX778076_APPLY_WRAP_PARAMS(i_, typename T)
 #if i_ == 0
     , typename has_apply_ = typename aux::has_apply<F>::type
 #endif
     >
-struct BOOST_PP_CAT(apply_wrap,i_)
+struct NDNBOOST_PP_CAT(apply_wrap,i_)
 // metafunction forwarding confuses MSVC 7.0
-#if !BOOST_WORKAROUND(BOOST_MSVC, == 1300)
+#if !NDNBOOST_WORKAROUND(NDNBOOST_MSVC, == 1300)
     : F::template apply< AUX778076_APPLY_WRAP_PARAMS(i_, T) >
 {
 #else
@@ -151,9 +151,9 @@
 #endif
 };
 
-#if i_ == 0 && !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+#if i_ == 0 && !defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
 template< typename F >
-struct BOOST_PP_CAT(apply_wrap,i_)<F,true_>
+struct NDNBOOST_PP_CAT(apply_wrap,i_)<F,true_>
     : F::apply
 {
 };
@@ -161,10 +161,10 @@
 
 #   endif // workarounds
 
-#if defined(BOOST_MPL_CFG_MSVC_ETI_BUG)
+#if defined(NDNBOOST_MPL_CFG_MSVC_ETI_BUG)
 /// workaround for ETI bug
 template<>
-struct BOOST_PP_CAT(apply_wrap,i_)<AUX778076_APPLY_WRAP_SPEC_PARAMS(i_, int)>
+struct NDNBOOST_PP_CAT(apply_wrap,i_)<AUX778076_APPLY_WRAP_SPEC_PARAMS(i_, int)>
 {
     typedef int type;
 };
@@ -174,13 +174,13 @@
 
 ///// iteration, depth == 2
 
-#elif BOOST_PP_ITERATION_DEPTH() == 2
+#elif NDNBOOST_PP_ITERATION_DEPTH() == 2
 
-#   define j_ BOOST_PP_FRAME_ITERATION(2)
+#   define j_ NDNBOOST_PP_FRAME_ITERATION(2)
 
 #if i_ == 0 && j_ == 0 \
-    && defined(BOOST_MPL_CFG_BCC590_WORKAROUNDS) \
-    && !defined(BOOST_MPL_CFG_NO_HAS_APPLY)
+    && defined(NDNBOOST_MPL_CFG_BCC590_WORKAROUNDS) \
+    && !defined(NDNBOOST_MPL_CFG_NO_HAS_APPLY)
 
 template< typename F, bool F_has_apply >
 struct apply_wrap_impl0_bcb {
@@ -193,12 +193,12 @@
 };
 
 template<
-      typename F BOOST_PP_COMMA_IF(i_) AUX778076_APPLY_WRAP_PARAMS(i_, typename T)
+      typename F NDNBOOST_PP_COMMA_IF(i_) AUX778076_APPLY_WRAP_PARAMS(i_, typename T)
     >
-struct BOOST_PP_CAT(apply_wrap_impl,i_)<
-          BOOST_MPL_PP_ADD(i_, j_)
+struct NDNBOOST_PP_CAT(apply_wrap_impl,i_)<
+          NDNBOOST_MPL_PP_ADD(i_, j_)
         , F
-        BOOST_PP_COMMA_IF(i_) AUX778076_APPLY_WRAP_PARAMS(i_, T)
+        NDNBOOST_PP_COMMA_IF(i_) AUX778076_APPLY_WRAP_PARAMS(i_, T)
         >
 {
     typedef apply_wrap_impl0_bcb< F, aux::has_apply< F >::value >::type type;
@@ -206,12 +206,12 @@
 #else
 
 template<
-      typename F BOOST_PP_COMMA_IF(i_) AUX778076_APPLY_WRAP_PARAMS(i_, typename T)
+      typename F NDNBOOST_PP_COMMA_IF(i_) AUX778076_APPLY_WRAP_PARAMS(i_, typename T)
     >
-struct BOOST_PP_CAT(apply_wrap_impl,i_)<
-          BOOST_MPL_PP_ADD(i_, j_)
+struct NDNBOOST_PP_CAT(apply_wrap_impl,i_)<
+          NDNBOOST_MPL_PP_ADD(i_, j_)
         , F
-        BOOST_PP_COMMA_IF(i_) AUX778076_APPLY_WRAP_PARAMS(i_, T)
+        NDNBOOST_PP_COMMA_IF(i_) AUX778076_APPLY_WRAP_PARAMS(i_, T)
         >
 {
     typedef typename F::template apply<
@@ -221,7 +221,7 @@
 /// metafunction classes
         na
 #else
-        BOOST_PP_COMMA_IF(BOOST_PP_AND(i_, j_)) BOOST_MPL_PP_ENUM(j_, na)
+        NDNBOOST_PP_COMMA_IF(NDNBOOST_PP_AND(i_, j_)) NDNBOOST_MPL_PP_ENUM(j_, na)
 #endif
         > type;
 };
@@ -230,5 +230,5 @@
 
 #   undef j_
 
-#endif // BOOST_PP_ITERATION_DEPTH()
-#endif // BOOST_PP_IS_ITERATING
+#endif // NDNBOOST_PP_ITERATION_DEPTH()
+#endif // NDNBOOST_PP_IS_ITERATING
