diff --git a/include/ndnboost/function_types/detail/pp_cc_loop/master.hpp b/include/ndnboost/function_types/detail/pp_cc_loop/master.hpp
index 0f821d0..d800e0d 100644
--- a/include/ndnboost/function_types/detail/pp_cc_loop/master.hpp
+++ b/include/ndnboost/function_types/detail/pp_cc_loop/master.hpp
@@ -14,10 +14,10 @@
 #endif
 
 
-#if !BOOST_PP_IS_ITERATING
+#if !NDNBOOST_PP_IS_ITERATING
 
-#   ifndef BOOST_FT_DETAIL_CC_LOOP_MASTER_HPP_INCLUDED
-#   define BOOST_FT_DETAIL_CC_LOOP_MASTER_HPP_INCLUDED
+#   ifndef NDNBOOST_FT_DETAIL_CC_LOOP_MASTER_HPP_INCLUDED
+#   define NDNBOOST_FT_DETAIL_CC_LOOP_MASTER_HPP_INCLUDED
 #     include <ndnboost/function_types/config/cc_names.hpp>
 
 #     include <ndnboost/preprocessor/cat.hpp>
@@ -32,105 +32,105 @@
 #   include <ndnboost/function_types/detail/encoding/def.hpp>
 #   include <ndnboost/function_types/detail/encoding/aliases_def.hpp>
 
-#   define  BOOST_PP_FILENAME_1 \
+#   define  NDNBOOST_PP_FILENAME_1 \
         <ndnboost/function_types/detail/pp_cc_loop/master.hpp>
-#   define  BOOST_PP_ITERATION_LIMITS \
-        (0,BOOST_PP_SEQ_SIZE(BOOST_FT_CC_NAMES_SEQ)-1)
-#   include BOOST_PP_ITERATE()
-#   if !defined(BOOST_FT_config_valid) && BOOST_FT_CC_PREPROCESSING
-#     define BOOST_FT_cc_id 1
-#     define BOOST_FT_cc_name implicit_cc
-#     define BOOST_FT_cc BOOST_PP_EMPTY
-#     define BOOST_FT_cond callable_builtin
-#     include BOOST_FT_cc_file
-#     undef BOOST_FT_cond
-#     undef BOOST_FT_cc_name
-#     undef BOOST_FT_cc
-#     undef BOOST_FT_cc_id
-#   elif !defined(BOOST_FT_config_valid) // and generating preprocessed file
-BOOST_PP_EXPAND(#) ifndef BOOST_FT_config_valid
-BOOST_PP_EXPAND(#)   define BOOST_FT_cc_id 1
-BOOST_PP_EXPAND(#)   define BOOST_FT_cc_name implicit_cc
-BOOST_PP_EXPAND(#)   define BOOST_FT_cc BOOST_PP_EMPTY
-BOOST_PP_EXPAND(#)   define BOOST_FT_cond callable_builtin
+#   define  NDNBOOST_PP_ITERATION_LIMITS \
+        (0,NDNBOOST_PP_SEQ_SIZE(NDNBOOST_FT_CC_NAMES_SEQ)-1)
+#   include NDNBOOST_PP_ITERATE()
+#   if !defined(NDNBOOST_FT_config_valid) && NDNBOOST_FT_CC_PREPROCESSING
+#     define NDNBOOST_FT_cc_id 1
+#     define NDNBOOST_FT_cc_name implicit_cc
+#     define NDNBOOST_FT_cc NDNBOOST_PP_EMPTY
+#     define NDNBOOST_FT_cond callable_builtin
+#     include NDNBOOST_FT_cc_file
+#     undef NDNBOOST_FT_cond
+#     undef NDNBOOST_FT_cc_name
+#     undef NDNBOOST_FT_cc
+#     undef NDNBOOST_FT_cc_id
+#   elif !defined(NDNBOOST_FT_config_valid) // and generating preprocessed file
+NDNBOOST_PP_EXPAND(#) ifndef NDNBOOST_FT_config_valid
+NDNBOOST_PP_EXPAND(#)   define NDNBOOST_FT_cc_id 1
+NDNBOOST_PP_EXPAND(#)   define NDNBOOST_FT_cc_name implicit_cc
+NDNBOOST_PP_EXPAND(#)   define NDNBOOST_FT_cc NDNBOOST_PP_EMPTY
+NDNBOOST_PP_EXPAND(#)   define NDNBOOST_FT_cond callable_builtin
 #define _()
-BOOST_PP_EXPAND(#)   include BOOST_FT_cc_file
+NDNBOOST_PP_EXPAND(#)   include NDNBOOST_FT_cc_file
 #undef _
-BOOST_PP_EXPAND(#)   undef BOOST_FT_cond
-BOOST_PP_EXPAND(#)   undef BOOST_FT_cc_name
-BOOST_PP_EXPAND(#)   undef BOOST_FT_cc
-BOOST_PP_EXPAND(#)   undef BOOST_FT_cc_id
-BOOST_PP_EXPAND(#) else
-BOOST_PP_EXPAND(#)   undef BOOST_FT_config_valid
-BOOST_PP_EXPAND(#) endif
+NDNBOOST_PP_EXPAND(#)   undef NDNBOOST_FT_cond
+NDNBOOST_PP_EXPAND(#)   undef NDNBOOST_FT_cc_name
+NDNBOOST_PP_EXPAND(#)   undef NDNBOOST_FT_cc
+NDNBOOST_PP_EXPAND(#)   undef NDNBOOST_FT_cc_id
+NDNBOOST_PP_EXPAND(#) else
+NDNBOOST_PP_EXPAND(#)   undef NDNBOOST_FT_config_valid
+NDNBOOST_PP_EXPAND(#) endif
 
 #   else
-#     undef BOOST_FT_config_valid
+#     undef NDNBOOST_FT_config_valid
 #   endif
 
 #   include <ndnboost/function_types/detail/encoding/aliases_undef.hpp>
 #   include <ndnboost/function_types/detail/encoding/undef.hpp>
 
-#elif BOOST_FT_CC_PREPROCESSING
+#elif NDNBOOST_FT_CC_PREPROCESSING
 
-#   define BOOST_FT_cc_id  BOOST_PP_INC(BOOST_PP_FRAME_ITERATION(1))
-#   define BOOST_FT_cc_inf \
-        BOOST_PP_SEQ_ELEM(BOOST_PP_FRAME_ITERATION(1),BOOST_FT_CC_NAMES_SEQ)
+#   define NDNBOOST_FT_cc_id  NDNBOOST_PP_INC(NDNBOOST_PP_FRAME_ITERATION(1))
+#   define NDNBOOST_FT_cc_inf \
+        NDNBOOST_PP_SEQ_ELEM(NDNBOOST_PP_FRAME_ITERATION(1),NDNBOOST_FT_CC_NAMES_SEQ)
 
-#   define BOOST_FT_cc_pp_name BOOST_PP_TUPLE_ELEM(3,0,BOOST_FT_cc_inf)
-#   define BOOST_FT_cc_name    BOOST_PP_TUPLE_ELEM(3,1,BOOST_FT_cc_inf)
-#   define BOOST_FT_cc         BOOST_PP_TUPLE_ELEM(3,2,BOOST_FT_cc_inf)
+#   define NDNBOOST_FT_cc_pp_name NDNBOOST_PP_TUPLE_ELEM(3,0,NDNBOOST_FT_cc_inf)
+#   define NDNBOOST_FT_cc_name    NDNBOOST_PP_TUPLE_ELEM(3,1,NDNBOOST_FT_cc_inf)
+#   define NDNBOOST_FT_cc         NDNBOOST_PP_TUPLE_ELEM(3,2,NDNBOOST_FT_cc_inf)
 
-#   define BOOST_FT_cond BOOST_PP_CAT(BOOST_FT_CC_,BOOST_FT_cc_pp_name)
+#   define NDNBOOST_FT_cond NDNBOOST_PP_CAT(NDNBOOST_FT_CC_,NDNBOOST_FT_cc_pp_name)
 
-#   if BOOST_FT_cond
-#     define BOOST_FT_config_valid 1
-#     include BOOST_FT_cc_file
+#   if NDNBOOST_FT_cond
+#     define NDNBOOST_FT_config_valid 1
+#     include NDNBOOST_FT_cc_file
 #   endif
 
-#   undef BOOST_FT_cond
+#   undef NDNBOOST_FT_cond
 
-#   undef BOOST_FT_cc_pp_name
-#   undef BOOST_FT_cc_name
-#   undef BOOST_FT_cc
+#   undef NDNBOOST_FT_cc_pp_name
+#   undef NDNBOOST_FT_cc_name
+#   undef NDNBOOST_FT_cc
 
-#   undef BOOST_FT_cc_id
-#   undef BOOST_FT_cc_inf
+#   undef NDNBOOST_FT_cc_id
+#   undef NDNBOOST_FT_cc_inf
 
 #else // if generating preprocessed file
-BOOST_PP_EXPAND(#) define BOOST_FT_cc_id BOOST_PP_INC(BOOST_PP_ITERATION())
+NDNBOOST_PP_EXPAND(#) define NDNBOOST_FT_cc_id NDNBOOST_PP_INC(NDNBOOST_PP_ITERATION())
 
-#   define BOOST_FT_cc_inf \
-        BOOST_PP_SEQ_ELEM(BOOST_PP_ITERATION(),BOOST_FT_CC_NAMES_SEQ)
+#   define NDNBOOST_FT_cc_inf \
+        NDNBOOST_PP_SEQ_ELEM(NDNBOOST_PP_ITERATION(),NDNBOOST_FT_CC_NAMES_SEQ)
 
-#   define BOOST_FT_cc_pp_name BOOST_PP_TUPLE_ELEM(3,0,BOOST_FT_cc_inf)
+#   define NDNBOOST_FT_cc_pp_name NDNBOOST_PP_TUPLE_ELEM(3,0,NDNBOOST_FT_cc_inf)
 
-#   define BOOST_FT_CC_DEF(name,index) \
-        name BOOST_PP_TUPLE_ELEM(3,index,BOOST_FT_cc_inf)
-BOOST_PP_EXPAND(#) define BOOST_FT_CC_DEF(BOOST_FT_cc_name,1)
-BOOST_PP_EXPAND(#) define BOOST_FT_CC_DEF(BOOST_FT_cc,2)
-#   undef  BOOST_FT_CC_DEF
+#   define NDNBOOST_FT_CC_DEF(name,index) \
+        name NDNBOOST_PP_TUPLE_ELEM(3,index,NDNBOOST_FT_cc_inf)
+NDNBOOST_PP_EXPAND(#) define NDNBOOST_FT_CC_DEF(NDNBOOST_FT_cc_name,1)
+NDNBOOST_PP_EXPAND(#) define NDNBOOST_FT_CC_DEF(NDNBOOST_FT_cc,2)
+#   undef  NDNBOOST_FT_CC_DEF
 
-#   define BOOST_FT_cc_cond_v BOOST_PP_CAT(BOOST_FT_CC_,BOOST_FT_cc_pp_name)
-BOOST_PP_EXPAND(#) define BOOST_FT_cond BOOST_FT_cc_cond_v
-#   undef  BOOST_FT_cc_cond_v
+#   define NDNBOOST_FT_cc_cond_v NDNBOOST_PP_CAT(NDNBOOST_FT_CC_,NDNBOOST_FT_cc_pp_name)
+NDNBOOST_PP_EXPAND(#) define NDNBOOST_FT_cond NDNBOOST_FT_cc_cond_v
+#   undef  NDNBOOST_FT_cc_cond_v
 
-#   undef BOOST_FT_cc_pp_name
-#   undef BOOST_FT_cc_inf
+#   undef NDNBOOST_FT_cc_pp_name
+#   undef NDNBOOST_FT_cc_inf
 
-BOOST_PP_EXPAND(#) if BOOST_FT_cond
-BOOST_PP_EXPAND(#)   define BOOST_FT_config_valid 1
+NDNBOOST_PP_EXPAND(#) if NDNBOOST_FT_cond
+NDNBOOST_PP_EXPAND(#)   define NDNBOOST_FT_config_valid 1
 #define _()
-BOOST_PP_EXPAND(#)   include BOOST_FT_cc_file
+NDNBOOST_PP_EXPAND(#)   include NDNBOOST_FT_cc_file
 #undef _
-BOOST_PP_EXPAND(#) endif
+NDNBOOST_PP_EXPAND(#) endif
 
-BOOST_PP_EXPAND(#) undef BOOST_FT_cond
+NDNBOOST_PP_EXPAND(#) undef NDNBOOST_FT_cond
 
-BOOST_PP_EXPAND(#) undef BOOST_FT_cc_name
-BOOST_PP_EXPAND(#) undef BOOST_FT_cc
+NDNBOOST_PP_EXPAND(#) undef NDNBOOST_FT_cc_name
+NDNBOOST_PP_EXPAND(#) undef NDNBOOST_FT_cc
 
-BOOST_PP_EXPAND(#) undef BOOST_FT_cc_id
+NDNBOOST_PP_EXPAND(#) undef NDNBOOST_FT_cc_id
 
 #endif
 
