diff --git a/include/ndnboost/function_types/detail/synthesize_impl/arity50_1.hpp b/include/ndnboost/function_types/detail/synthesize_impl/arity50_1.hpp
index aa74d17..35e73d0 100644
--- a/include/ndnboost/function_types/detail/synthesize_impl/arity50_1.hpp
+++ b/include/ndnboost/function_types/detail/synthesize_impl/arity50_1.hpp
@@ -8,27 +8,27 @@
 
 // no include guards, this file is intended for multiple inclusion
 
-// input:  BOOST_FT_syntax     type macro to use
-// input:  BOOST_FT_cc         empty or cc specifier 
-// input:  BOOST_FT_ell        empty or "..."
-// input:  BOOST_FT_cv         empty or cv qualifiers
-// input:  BOOST_FT_flags      single decimal integer encoding the flags
-// output: BOOST_FT_n          number of component types (arity+1)
-// output: BOOST_FT_arity      current arity
-// output: BOOST_FT_type       macro that expands to the type
-// output: BOOST_FT_tplargs(p) template arguments with given prefix
-// output: BOOST_FT_params(p)  parameters with given prefix
+// input:  NDNBOOST_FT_syntax     type macro to use
+// input:  NDNBOOST_FT_cc         empty or cc specifier 
+// input:  NDNBOOST_FT_ell        empty or "..."
+// input:  NDNBOOST_FT_cv         empty or cv qualifiers
+// input:  NDNBOOST_FT_flags      single decimal integer encoding the flags
+// output: NDNBOOST_FT_n          number of component types (arity+1)
+// output: NDNBOOST_FT_arity      current arity
+// output: NDNBOOST_FT_type       macro that expands to the type
+// output: NDNBOOST_FT_tplargs(p) template arguments with given prefix
+// output: NDNBOOST_FT_params(p)  parameters with given prefix
 
 # include <ndnboost/function_types/detail/synthesize_impl/arity40_1.hpp>
-# define BOOST_FT_make_type(flags,cc,arity) BOOST_FT_make_type_impl(flags,cc,arity)
-# define BOOST_FT_make_type_impl(flags,cc,arity) make_type_ ## flags ## _ ## cc ## _ ## arity
+# define NDNBOOST_FT_make_type(flags,cc,arity) NDNBOOST_FT_make_type_impl(flags,cc,arity)
+# define NDNBOOST_FT_make_type_impl(flags,cc,arity) make_type_ ## flags ## _ ## cc ## _ ## arity
 template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,41)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,41)
 {
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 BOOST_FT_ell) BOOST_FT_cv ;
+typedef NDNBOOST_FT_syntax(NDNBOOST_FT_cc,type NDNBOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 42 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 42 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -76,7 +76,7 @@
 typedef typename mpl::next< iter_39 > ::type iter_40;
 typedef typename mpl::next< iter_40 > ::type iter_41;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,41) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,41) 
 < typename mpl::deref< iter_0 > ::type 
 , typename detail::cv_traits< 
 typename mpl::deref< iter_1 > ::type > ::type
@@ -124,12 +124,12 @@
 };
 };
 template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,42)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,42)
 {
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 BOOST_FT_ell) BOOST_FT_cv ;
+typedef NDNBOOST_FT_syntax(NDNBOOST_FT_cc,type NDNBOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 43 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 43 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -178,7 +178,7 @@
 typedef typename mpl::next< iter_40 > ::type iter_41;
 typedef typename mpl::next< iter_41 > ::type iter_42;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,42) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,42) 
 < typename mpl::deref< iter_0 > ::type 
 , typename detail::cv_traits< 
 typename mpl::deref< iter_1 > ::type > ::type
@@ -227,12 +227,12 @@
 };
 };
 template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,43)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,43)
 {
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 BOOST_FT_ell) BOOST_FT_cv ;
+typedef NDNBOOST_FT_syntax(NDNBOOST_FT_cc,type NDNBOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 44 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 44 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -282,7 +282,7 @@
 typedef typename mpl::next< iter_41 > ::type iter_42;
 typedef typename mpl::next< iter_42 > ::type iter_43;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,43) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,43) 
 < typename mpl::deref< iter_0 > ::type 
 , typename detail::cv_traits< 
 typename mpl::deref< iter_1 > ::type > ::type
@@ -332,12 +332,12 @@
 };
 };
 template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 , typename T43 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,44)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,44)
 {
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 BOOST_FT_ell) BOOST_FT_cv ;
+typedef NDNBOOST_FT_syntax(NDNBOOST_FT_cc,type NDNBOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 45 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 45 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -388,7 +388,7 @@
 typedef typename mpl::next< iter_42 > ::type iter_43;
 typedef typename mpl::next< iter_43 > ::type iter_44;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,44) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,44) 
 < typename mpl::deref< iter_0 > ::type 
 , typename detail::cv_traits< 
 typename mpl::deref< iter_1 > ::type > ::type
@@ -439,12 +439,12 @@
 };
 };
 template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 , typename T43 , typename T44 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,45)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,45)
 {
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 BOOST_FT_ell) BOOST_FT_cv ;
+typedef NDNBOOST_FT_syntax(NDNBOOST_FT_cc,type NDNBOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 46 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 46 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -496,7 +496,7 @@
 typedef typename mpl::next< iter_43 > ::type iter_44;
 typedef typename mpl::next< iter_44 > ::type iter_45;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,45) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,45) 
 < typename mpl::deref< iter_0 > ::type 
 , typename detail::cv_traits< 
 typename mpl::deref< iter_1 > ::type > ::type
@@ -548,12 +548,12 @@
 };
 };
 template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 , typename T43 , typename T44 , typename T45 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,46)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,46)
 {
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 BOOST_FT_ell) BOOST_FT_cv ;
+typedef NDNBOOST_FT_syntax(NDNBOOST_FT_cc,type NDNBOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 47 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 47 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -606,7 +606,7 @@
 typedef typename mpl::next< iter_44 > ::type iter_45;
 typedef typename mpl::next< iter_45 > ::type iter_46;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,46) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,46) 
 < typename mpl::deref< iter_0 > ::type 
 , typename detail::cv_traits< 
 typename mpl::deref< iter_1 > ::type > ::type
@@ -659,12 +659,12 @@
 };
 };
 template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 , typename T43 , typename T44 , typename T45 , typename T46 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,47)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,47)
 {
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 BOOST_FT_ell) BOOST_FT_cv ;
+typedef NDNBOOST_FT_syntax(NDNBOOST_FT_cc,type NDNBOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 48 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 48 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -718,7 +718,7 @@
 typedef typename mpl::next< iter_45 > ::type iter_46;
 typedef typename mpl::next< iter_46 > ::type iter_47;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,47) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,47) 
 < typename mpl::deref< iter_0 > ::type 
 , typename detail::cv_traits< 
 typename mpl::deref< iter_1 > ::type > ::type
@@ -772,12 +772,12 @@
 };
 };
 template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 , typename T43 , typename T44 , typename T45 , typename T46 , typename T47 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,48)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,48)
 {
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 BOOST_FT_ell) BOOST_FT_cv ;
+typedef NDNBOOST_FT_syntax(NDNBOOST_FT_cc,type NDNBOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 49 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 49 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -832,7 +832,7 @@
 typedef typename mpl::next< iter_46 > ::type iter_47;
 typedef typename mpl::next< iter_47 > ::type iter_48;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,48) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,48) 
 < typename mpl::deref< iter_0 > ::type 
 , typename detail::cv_traits< 
 typename mpl::deref< iter_1 > ::type > ::type
@@ -887,12 +887,12 @@
 };
 };
 template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 , typename T43 , typename T44 , typename T45 , typename T46 , typename T47 , typename T48 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,49)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,49)
 {
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 BOOST_FT_ell) BOOST_FT_cv ;
+typedef NDNBOOST_FT_syntax(NDNBOOST_FT_cc,type NDNBOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 50 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 50 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -948,7 +948,7 @@
 typedef typename mpl::next< iter_47 > ::type iter_48;
 typedef typename mpl::next< iter_48 > ::type iter_49;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,49) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,49) 
 < typename mpl::deref< iter_0 > ::type 
 , typename detail::cv_traits< 
 typename mpl::deref< iter_1 > ::type > ::type
@@ -1004,12 +1004,12 @@
 };
 };
 template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 , typename T43 , typename T44 , typename T45 , typename T46 , typename T47 , typename T48 , typename T49 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,50)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,50)
 {
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 , T49 BOOST_FT_ell) BOOST_FT_cv ;
+typedef NDNBOOST_FT_syntax(NDNBOOST_FT_cc,type NDNBOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 , T49 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 51 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 51 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -1066,7 +1066,7 @@
 typedef typename mpl::next< iter_48 > ::type iter_49;
 typedef typename mpl::next< iter_49 > ::type iter_50;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,50) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,50) 
 < typename mpl::deref< iter_0 > ::type 
 , typename detail::cv_traits< 
 typename mpl::deref< iter_1 > ::type > ::type
@@ -1122,6 +1122,6 @@
 > ::type type;
 };
 };
-# undef BOOST_FT_make_type
-# undef BOOST_FT_make_type_impl
+# undef NDNBOOST_FT_make_type
+# undef NDNBOOST_FT_make_type_impl
 
